问题:我试图在我的viewcontroller中获取导航控制器的句柄,但它总是返回nil,下面是我的代码
层次结构:AppDelegate - > MainStoryboard - > nav抽屉 - > 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)
}
我的“testsone”故事板中有一个navigationcontroller,通过关系连接到viewContorller“initial” - “root view controller”到“viewController”,将它连接到testtingone类
在代码(testingOne)类中,我试图获取navigationcontroller的句柄,如下所示:
self.rootNav = self.navigationController!
但它总是最终没有
答案 0 :(得分:0)
通过直接显示视图控制器,您可以一起绕过导航控制器。这就是为什么你在致电nil
时获得self.navigationController
的原因。您应该出示导航控制器。
为此,在故事板中只需将导航控制器的故事板ID设置为initial
而不是视图控制器。