ios - UINavigationController - 检测何时导航回 Root View Controller

标签 ios uiviewcontroller uinavigationcontroller

我正在尝试通过使用委托(delegate)方法来做到这一点

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

但是如何确定 viewController是 Root View Controller 吗?看来topViewController只有一个方法,这不是我想要的。

或者有没有更好的方法来确定我何时通过按下后退按钮导航回导航 Controller 的根目录?

最佳答案

检查是否 viewController与导航堆栈中的第一个 View Controller 相同:

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
    UIViewController *root = navigationController.viewControllers[0];

    if (viewController == root) {
        // moving to the root controller
    }
}

关于ios - UINavigationController - 检测何时导航回 Root View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27908313/

相关文章:

ios - UIActivityViewController UIActivityViewControllerCompletionWithItemsHandler

ios - Swiftycam 媒体捕获库委托(delegate)崩溃

c# - 从继承自 UIVIewcontroller 的类继承(xamarin 和 c#)

ios - 如何在推送通知中导航到另一个 View Controller

ios - iPad Twitter App 中的功能(弹出式导航 Controller )

ios - Rally api 以获取 Release Burnup 的数据

ios - 获取以编程方式创建的 subview 的框架

ios - 使用 Segue 从 UIViewController 传输字符串

objective-c - 如何允许用户选择 UIImagePickerController 的源类型?

ios - Swift 3 中的实时搜索限制