导航栏消失popviewcontroller
在我的一个意见,当按下按钮时,我打电话给另一个视图是SplitViewController
。如果通过其中一个按钮调用SplitViewController
,我有特殊对象添加到视图中。大多数只是导航栏项目,就像取消按钮。这个视图可以在其他地方访问,这些项目是不需要的,这就是为什么有特殊情况。导航栏消失popviewcontroller
但是,当用户完成后,我弹出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];
}
当视图返回时,导航栏不见了。
有什么想法?
编辑应该指出,这个完全相同的事情在其他地方以同样的方式完成(据我所知)和导航栏是可见的返回。
在您的ViewController的viewWillAppear
中,您可以再次使您的navigationBar
可见。
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:NO];
}
感谢您。我和OP有同样的问题。 – Pangu 2016-02-22 01:30:50
我在UISplitViewController中看到了各种奇怪的导航栏行为,在少数情况下,这是因为控制器没有设置为窗口的rootViewController,而是像您设置的导航控制器那样。
这个问题实际上并不在UISplitViewController中。它显示正常。问题出在将SplitView推到navigationController的堆栈的屏幕上。当splitView弹出时,导航栏消失。 – JMD 2013-02-14 14:51:19
我明白了,但是我看到它在低于其他控制器的情况下交互性很差。苹果公司表示,分割视图控制器必须是根:http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/SplitViewControllers.html – 2013-02-14 15:08:15
嗯,我在navbarhidden = NO中加入了,只是为了确定,而且似乎解决了这个问题。所以酒吧显然隐藏在某个地方。 – JMD 2013-02-14 14:59:16