推送视图后,UINavigationController显示黑屏

我有一个导航控制器的故事板应用程序两个视图控制器(“A”,“B”)。

在Storyboard文件中:Navigationcontroller是初始视图控制器。 视图控制器“A”以rootcontroller连接到Navigationcontroller。 视图控制器“B”在故事板中,但没有连接到任何视图控制器。

当我以编程方式尝试从视图控制器'A'推视图控制器'B'到导航控制器:

B *controllerB = [[B alloc] init]; [self.navigationController pushViewController:controllerB animated:YES]; 

我所得到的只是过渡到黑屏。

我在运行时检查了视图控制器A中的navigationController属性,它不是零。 我没有自己实例化navigationController,我让故事板做的工作(也许这就是问题)。 但我认为应该可以“手动”将视图控制器推到故事板创build的导航控制器。

当我从故事板的button连接到“B”时,一切正常。 只有编程方式,它不起作用,只显示导航控制器内的黑屏。

也许有人可以帮我解决这个问题。

接受的答案不适合我。 我已经使用instantiateViewControllerWithIdentifier导航到不同的故事板视图控制器。 我正在使用xcode7.2和Swift。

我从故事板1,一些视图控制器的button操作导航。 Destination是Storyboard2的初始导航控制器。
我仍然黑屏。

问题是故事板2的导航控制器链接到第一视图控制器通过show链接。

解:
删除导航控制器和第一个视图控制器之间的链接。 现在使用root view controller链接它。 (Ctrl +单击导航控制器并将其拖动到视图控制器并select选项“根视图控制器”)

我还没有使用故事板,所以这个答案是一目了然的文档。 看起来你不能从故事板中分配/初始化视图控制器。 你需要使用你的UIStoryboard实例的instantiateViewControllerWithIdentifier:方法,然后你可以推动控制器。