【问题标题】:Why doesn't UINavigationController have a rootViewController property?为什么 UINavigationController 没有 rootViewController 属性?
【发布时间】:2013-04-11 01:21:21
【问题描述】:

我很好奇。我们真的不能轻易访问它。我的意思是,我知道它有,但无法访问。

为什么?

基本上,我希望在通过访问它的视图发送一些事件之前加载 rootViewController。在 viewDidload 上设置了一个 postnotification。

【问题讨论】:

    标签: ios objective-c uinavigationcontroller


    【解决方案1】:

    如果你有多个,那么使用:

    UIViewController *root = navController.viewControllers[0];
    

    navController 是你UINavigationController。这将永远有效。

    使用UINavigationController topViewController。如果只有一个控制器,则此方法有效。

    【讨论】:

    • @HugoDozois 喜欢什么? OP 声明没有 rootViewController 方法可以在 nab 控制器中获取根视图控制器。使用topViewController 将为您提供根视图控制器(如果只有一个视图控制器)。
    • topViewController 将给出最上层的控制器。我想要最底层的。
    • 我就是这么做的。它仍然没有解释为什么我们没有 rootViewController。除非其他人有更好的答案,否则这将是正确的答案
    • 因为您不需要经常使用 rootViewController,而您需要使用 topViewController。如果你真的想要,你可以在 UINavigationController 上创建一个带有 rootViewController 属性的类别,该属性只返回 self.viewControllers[0]...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2012-12-11
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多