【问题标题】:self.navigationController always returns nil using storyboard to storyboard navigationself.navigationController 总是使用故事板返回 nil 到故事板导航
【发布时间】:2017-02-08 06:19:33
【问题描述】:

问题:我试图在我的视图控制器中获取导航控制器的句柄,但它总是返回 nil,下面是我的代码

层次结构:AppDelegate -> MainStoryboard -> nav Drawer -> TestingStoryboard -> 测试

从导航抽屉中,我打开 viewControl 如下:

self.openNewStoryBoard(storyBoard: "testingone", scene: "initial")
func openNewStoryBoard(storyBoard:String, scene:String){
    let storyboard = UIStoryboard(name: storyBoard, bundle: nil)
    let controller = storyboard.instantiateViewController(withIdentifier: scene) as UIViewController
    self.present(controller, animated: true, completion: nil)

}

我的“testingone”故事板中有一个导航控制器,它通过关系连接到 viewContorller“初始” - “根视图控制器”到“viewController”,将它连接到 testtingone 类

在代码(testingOne)类中,我试图获取导航控制器的句柄,如下所示:

self.rootNav = self.navigationController!

但它总是以 nil 结束

【问题讨论】:

    标签: ios iphone swift uiviewcontroller storyboard


    【解决方案1】:

    通过直接展示您的视图控制器,您完全绕过了导航控制器。这就是为什么您在拨打self.navigationController 时收到nil 的原因。你应该展示你的导航控制器。

    为此,只需在故事板中将导航控制器的故事板 ID 设置为 initial 而不是视图控制器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 2012-03-10
      • 2021-12-04
      相关资源
      最近更新 更多