7

在我的一个视图中,当按下按钮时,我调用另一个视图,即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];
}

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

有任何想法吗?

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

4

2 回答 2

10

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

- (void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setNavigationBarHidden:NO];
}
于 2013-02-14T15:56:11.063 回答
1

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

于 2013-02-14T14:47:46.207 回答