Swift: navigationController返回nil

3
在由UITabBarController实例化的UIViewController中,当我运行以下代码时,
let destination = self.storyboard?.instantiateViewControllerWithIdentifier("test")
self.navigationController!.pushViewController(destination!, animated: true)

navigationController返回了nil。我该如何获取navigationController实例来推送一个视图控制器?


你的UIViewController在故事板中嵌入了导航控制器吗? - Paulw11
不好意思,我忘记将它嵌入到导航控制器中。在这样做之后,代码就可以正常工作了。谢谢! - Marcos Tanaka
你应该回答自己的问题并接受那个答案,或者删除这个问题。 - Duncan C
3个回答

7
如@Paulw11所说,缺少的是将UIViewController嵌入导航控制器中。要做到这一点,可以在Storyboard中拖放一个Navigation Controller,然后从该Navigation ControllerUIViewController进行CTRL + 拖动,并选择关系root view controller

1

您的源UIViewController实例需要嵌入在故事板场景中的UINavigationController中,以提供导航控制器实例以进行推送。


如果他直接实例化视图控制器,这是没有帮助的。他还必须实例化导航控制器。 - Charles A.
问题并不是指向目标视图控制器 - 即实例化的视图控制器。它是在说当前的视图控制器(他试图将实例化的视图控制器推入其中的那个)没有一个导航控制器。 - Paulw11

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接