隐藏底栏导航控制器

时间:2011-11-07 17:24:46

标签: iphone objective-c ios xcode interface-builder

我想在我的应用程序中的某个屏幕上隐藏底部工具栏,并且IB似乎有一个选项,似乎预览为正常工作,但是当我构建并测试应用程序时,底部工具栏仍然存在。

我知道我可以使用[self.navigationController setToolbarHidden:YES];但我的问题不是如何使用代码来实现它,而是如何通过Interface Builder来实现它。

enter image description here

以下是我所说的截图。请参阅右侧我如何选择底栏:无 - 这将删除左侧预览的底栏。如果我将其设置为推断(而不是无),则底部栏显示在IB预览中。

如何让它正常工作?

3 个答案:

答案 0 :(得分:5)

您无法在Interface Builder中进行设置。如果您注意到IB中可以打开/关闭这些不同条形的部分的标题,则表示“模拟”。这些选项仅用于帮助您在设计IB时可视化您的UI。它们对正在运行的应用程序完全没有影响。

答案 1 :(得分:4)

当您只想在一个视图控制器中隐藏工具栏时,我无法在故事板中执行此操作。如果要隐藏所有内容,则需要转到导航控制器,并在故事板中设置值。但这会使所有视图控制器隐藏工具栏。如果要为一个视图控制器隐藏它,请在该视图控制器中使用它:

-(void) viewWillAppear:(BOOL)animated
{
    [self.navigationController.toolbar setHidden: YES];
}

-(void) viewWillDisappear:(BOOL)animated
{
    [self.navigationController.toolbar setHidden: NO];
}

答案 2 :(得分:3)

如果将ViewController推送到UINavigationController堆栈,则在IB内启用“隐藏推送底栏”。

这应该完全符合你的要求。作为奖励,系统可以很好地激活隐藏和显示。