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

我有一个故事板iOS应用程序,我有很多观点.我有一个UINavigationController,选中了“显示工具栏”选项,然后填充整个视图层次结构.

假设我的视图流是3个视图,A,B和C:

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

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

在Xcode / Storyboard中,如果在View BI中选择“隐藏推送时的底部栏”,它就会这样做 – 底部栏对于视图B是隐藏的.同样,如果我为“底栏”选择选项选择“无”,则没有查看B.好吧.

这是我的问题:无论我做什么,使用视图B的任一选项,我的工具栏都不会返回到视图C.如果我将View C的工具栏设置为推断(并且取消选中隐藏在推送上)它不显示,也不显示如果我手动将其设置为“工具栏”.

有任何想法吗?

解决方法

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

在viewDidLoad或viewWillAppear上设置self.navigationController.toolbarHidden = YES / NO是有效的,但很丑(在视图过渡动画期间,黑色矩形代替工具栏).

以下是我为View B控制器(以及View C的反转)所做的操作,以模仿故事板中“隐藏推送”选项的动画平滑度:

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

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...