3 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以使用以下內(nèi)容。
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSArray *viewControllers = self.navigationController.viewControllers;
if (viewControllers.count > 1 && [viewControllers objectAtIndex:viewControllers.count-2] == self) {
// View is disappearing because a new view controller was pushed onto the stack
NSLog(@"New view controller was pushed");
} else if ([viewControllers indexOfObject:self] == NSNotFound) {
// View is disappearing because it was popped from the stack
NSLog(@"View controller was popped");
}
}
當(dāng)然,這是可能的,因?yàn)樵谡{(diào)用viewWillDisappear時(shí),UINavigationController的視圖控制器堆棧(通過(guò)viewControllers屬性公開)已經(jīng)更新。

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
我認(rèn)為最簡(jiǎn)單的方法是:
- (void)viewWillDisappear:(BOOL)animated
{
if ([self isMovingFromParentViewController])
{
NSLog(@"View controller was popped");
}
else
{
NSLog(@"New view controller was pushed");
}
[super viewWillDisappear:animated];
}
迅速:
override func viewWillDisappear(animated: Bool)
{
if isMovingFromParentViewController
{
print("View controller was popped")
}
else
{
print("New view controller was pushed")
}
super.viewWillDisappear(animated)
}
- 3 回答
- 0 關(guān)注
- 625 瀏覽
添加回答
舉報(bào)