在我的容器类的故事板中,我创建了一个带有嵌入segue的全屏容器视图,该嵌入字段附加到UINavigationController。我试图通过编程方式推送一个viewController来测试这个:
UIViewController* test = [[UIViewController alloc] init];
test.view.backgroundColor = [UIColor redColor];
UINavigationController* navC = [[RootController mainStoryBoard] instantiateViewControllerWithIdentifier:@"containerNav"];
[navC pushViewController:test animated:NO];
navC已成功初始化为导航控制器,但pushViewController调用似乎什么也没做。我仍然只是在屏幕上看到一个空的导航控制器(黑色视图的默认导航栏)。我还尝试使用setViewControllers方法进行类似的测试,该方法也失败了。导航控制器是不是要嵌入到容器视图中?
答案 0 :(得分:1)
UINavigationController在首次创建时需要在其堆栈底部的UIViewController(并且它不能弹出那个)。换句话说,它不能以空堆栈开头,你应该在xib / storyboard中添加/嵌入一个viewController,然后我希望它能与你在这里做的事情一起工作< / p>
答案 1 :(得分:0)
我认为你可能需要在Nav Controller上设置viewControllers属性,如下所示:
[navC setViewControllers(@[test] animated: NO]