嵌入在Storyboard容器视图中的UINavigationController不会推送UIViewController

问题描述:

在我的容器类故事板中,我创建了一个全屏的容器视图,其中嵌入了Segue,它连接到UINavigationController。我试图通过推动的viewController编程像下面对此进行测试:嵌入在Storyboard容器视图中的UINavigationController不会推送UIViewController

UIViewController* test = [[UIViewController alloc] init]; 
test.view.backgroundColor = [UIColor redColor]; 
UINavigationController* navC = [[RootController mainStoryBoard] instantiateViewControllerWithIdentifier:@"containerNav"]; 
[navC pushViewController:test animated:NO]; 

NAVC初始化成功为导航控制器,但pushViewController通话似乎什么也不做。我仍然只看到屏幕上的空导航控制器(带黑色视图的默认导航栏)。我也尝试了setViewControllers方法的类似测试,该方法也失败了。导航控制器是否意味着被嵌入到容器视图中?

的UINavigationController需要从当第一次创建它在它的堆栈底部一个UIViewController,(它不能“弹出”那个)。换句话说,它不能从一个空栈开始,你应该在xib/storyboard中添加/嵌入一个viewController,然后我期望它能与你在这里做的一起工作

我想你可能只是需要设置viewControllers财产上的导航控制器,就像这样:

[navC setViewControllers(@[test] animated: NO]