导航栏消失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]; 
} 

当视图返回时,导航栏不见了。

有什么想法?

编辑应该指出,这个完全相同的事情在其他地方以同样的方式完成(据我所知)和导航栏是可见的返回。

+0

嗯,我在navbarhidden = NO中加入了,只是为了确定,而且似乎解决了这个问题。所以酒吧显然隐藏在某个地方。 – JMD 2013-02-14 14:59:16

在您的ViewController的viewWillAppear中,您可以再次使您的navigationBar可见。

- (void)viewWillAppear:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:NO]; 
} 
+0

感谢您。我和OP有同样的问题。 – Pangu 2016-02-22 01:30:50

我在UISplitViewController中看到了各种奇怪的导航栏行为,在少数情况下,这是因为控制器没有设置为窗口的rootViewController,而是像您设置的导航控制器那样。

+0

这个问题实际上并不在UISplitViewController中。它显示正常。问题出在将SplitView推到navigationController的堆栈的屏幕上。当splitView弹出时,导航栏消失。 – JMD 2013-02-14 14:51:19

+0

我明白了,但是我看到它在低于其他控制器的情况下交互性很差。苹果公司表示,分割视图控制器必须是根:http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/SplitViewControllers.html – 2013-02-14 15:08:15