【问题标题】:UINavigationController - detect when navigated back to root view controllerUINavigationController - 检测何时导航回根视图控制器
【发布时间】:2015-01-12 18:20:27
【问题描述】:
我正在尝试通过使用委托方法来做到这一点
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
但是我如何确定viewController 是否是根视图控制器?好像topViewController只有一个方法,不是我想要的。
或者有没有更好的方法来确定我何时通过按后退按钮导航回导航控制器的根目录?
【问题讨论】:
标签:
ios
uiviewcontroller
uinavigationcontroller
【解决方案1】:
检查viewController 是否与导航堆栈中的第一个视图控制器相同:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
UIViewController *root = navigationController.viewControllers[0];
if (viewController == root) {
// moving to the root controller
}
}