我正在尝试使用委托方法
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
但是如何确定viewController
是否是根视图控制器?似乎topViewController只有一个方法,这不是我想要的。
或者有没有更好的方法来确定何时通过按后退按钮导航回导航控制器的根目录?
答案 0 :(得分:6)
检查viewController
是否与导航堆栈中的第一个视图控制器相同:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
UIViewController *root = navigationController.viewControllers[0];
if (viewController == root) {
// moving to the root controller
}
}