2016-04-19 37 views
2

零我有两个故事板(Main和SB2)navigationController是在迅速

我有在主情节串连图板和SB2 一个视图控制器的一个予执行

let SB2 = UIStoryboard(name: "SB2", bundle:nil) 
let vc : UIViewController = self.SB2.instantiateViewControllerWithIdentifier("VC2") 
self.showViewController(vc, sender: self) 

第二ViewController中加载之后和该命令运行时,它打印零:

print(self.navigationController) // prints nil 

在SB2(第二情节串连图板)我点击了的ViewController(VC2)中,然后点击编辑>嵌入在>导航结扎控制器。这放置了一个导航控制器的故事板和根视图控制器是VC2。我三重检查了这一点。它连接的第一个标志是顶部的灰色导航栏。第二个是有导航控制器连接到VC2的segue,我可以检查的最后一个地方是导航控制器实用程序。

我在想,也许我不应该直接从VC1转换到VC2,而是VC1到NavigationController,但是我不知道如何做到这一点,或者如果它甚至可能。

我不知道什么时候sb2打印无导航控制器连接到它的脸。任何帮助表示赞赏。

+0

你需要给*导航控制器*在故事板的标识符,然后实例*的是*代替VC2。 –

+0

问题就解决了。我不敢相信我花了三个小时。我所要做的只是 让nvc:UINavigationController = self.SB2.instantiateViewControllerWithIdentifier(“NVC”)as! UINavigationController 非常感谢! –

回答

3

您需要将视图控制器(VC2)推到导航控制器上。

let SB2 = UIStoryboard(name: "SB2", bundle:nil)v 
let nvc = SB2.instantiateViewControllerWithIdentifier("NVC") as! UINavigationController 
let vc : UIViewController = self.SB2.instantiateViewControllerWithIdentifier("VC2") 
nvc.pushViewController(vc, animated: true) 

然后在您的视图控制器尝试调用

self.navigationController