我有一个通用应用程序,在iPad版本上我使用 UISplitViewController
来创建类似于Mail应用程序的界面 .
我在推送新的Detail视图时遇到了麻烦,所以我决定使用 UINavigationController
所以我可以根据需要推送和弹出视图 . 但是,我不想使用导航视图或工具栏 . 但无论我做什么,我都无法隐藏导航栏 .
我已经尝试取消选中IB中的“显示导航栏”,我也尝试过设置:
[self.navigationController setNavigationBarHidden:YES];
在 viewDidLoad
/ viewDidAppear
/ viewWillAppear
. 我也在每个将要推送的视图中尝试过它 . 什么都行不通 .
这里有什么我想念的吗?是否可以在没有工具栏或导航栏的情况下使用 UINavigationController
?
5 回答
您应该能够执行以下操作:
self.navigationController(显然)是UINavigationController的一个实例 . 似乎对我有用,但我在发布之前只对其进行了简要的测试 .
如果您不想要导航栏,并且希望将内容调整到导航栏通常所在的位置,则应使用
这会给你一个像这样的结果:
而
self.navigationController.navigationBar.hidden = YES;
为您提供了navigationBar所在的空间 . 像这样:在Xcode 4.3.2中:
在故事板中选择导航控制器
在(右侧)“实用程序”面板中选择“属性”检查器
在导航控制器类别下,您有两个复选框:
[]显示导航栏
[]显示工具栏
为我工作......
Swift 4
我将它隐藏在viewWillAppear中
然后你可以在推动segue时把它放回去(如果你想在下一个视图上有后退按钮)
Swift 3以编程方式
要么
注意:我没有看到在iOS 10上测试这两种方法的区别 .