如何使用故事板隐藏UINavigationController的工具栏?

我有一个故事板iOS应用程序,有一些我推过的观点。 我有一个UINavigationController与select“显示工具栏”选项,然后填充我的视图层次结构。

说我的观点stream程是3视图,A,B和C:

View A --(push)--> View B --(push)--> View C 

视图A是一个普通的视图控制器,在工具栏上有一个button用于推视图B.视图B是一个表控制器,所以我想在这里隐藏工具栏。 视图C是视图A的另一个视图,需要显示一个工具栏。

在Xcode / Storyboard中,如果在View BI中select“隐藏底部栏”,那么底部栏是隐藏的视图B.同样,如果我select“无”底部栏select选项,没有酒吧查看B好。

这是我的问题:无论我做什么,使用任一选项的视图B,我的工具栏不会回来视图C.如果我设置视图C的工具栏作为推断(并取消隐藏推)它不显示,也不如果我手动设置为“工具栏”。

有任何想法吗?

正如@Zoltán所说,Storyboard没有提供完整的答案。

在viewDidLoad或viewWillAppear中设置self.navigationController.toolbarHidden = YES / NO是有效的,但是很丑陋(在视图过渡animation中出现一个黑色矩形代替工具栏)。

以下是我为View B控制器(和View C的反转)所做的工作,以模拟故事板中“hide on push”选项的animation平滑度:

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

我不认为你可以纯粹在故事板。 不过,您可以将其设置为始终显示,将button放置在您希望显示的每个视图上,然后调用self.navigationController.toolbarHidden = YES; 当一个视图控制器被加载,你不希望工具栏出现。 之后,如果另一个VC出现在你想要的工具栏上,只需将toolbarHidden设置为NO。