导航栏消失在popviewcontroller上

时间:2013-02-14 14:28:20

标签: iphone ios objective-c xcode ipad

在我的一个观点中,当按下某个按钮时,我会调用另一个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];
}

当视图返回时,导航栏就消失了。

任何想法?

编辑应该注意的是,完全相同的事情在其他地方以相同的方式完成(据我所知)并且导航栏在返回时可见。

2 个答案:

答案 0 :(得分:9)

在ViewController的viewWillAppear中,您可以再次显示navigationBar

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

答案 1 :(得分:1)

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