在我的一个观点中,当按下某个按钮时,我会调用另一个SplitViewController
的视图。如果通过其中一个按钮调用此SplitViewController
,我会将特殊对象添加到视图中。主要是导航栏项目,如取消按钮。这个视图可以在别处访问,不需要这些项目,这就是为什么有特殊条件。
然而,当用户完成并且我将ViewController
弹回到选定的上一个屏幕时,导航栏将在该屏幕上消失。我没有将它设置为隐藏,也不是我对导航栏做了什么奇怪的事情。只需添加SplitViewController
然后弹回。
一些代码..
//declare the split screen VC
SplitScreenViewController *split = [[SplitScreenViewController alloc] init];
//set the flag that this VC is coming from a button, so we need the extra nav bar items
[split setIsFromButton:YES];
[self.navigationController pushViewController:split animated:YES];
现在回电只是......
- (void)cancelSelectionBtnClicked
{
[self.navigationController popViewControllerAnimated:YES];
}
当视图返回时,导航栏就消失了。
任何想法?
编辑应该注意的是,完全相同的事情在其他地方以相同的方式完成(据我所知)并且导航栏在返回时可见。
答案 0 :(得分:9)
在ViewController的viewWillAppear
中,您可以再次显示navigationBar
。
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:NO];
}
答案 1 :(得分:1)
我在UISplitViewController中看到了各种奇怪的导航栏行为,在少数情况下,这是因为控制器没有设置为窗口的rootViewController,而是像你设置的导航控制器一样。