我有一个带有一些viewControllers的应用程序。只有一个viewController
不能显示navigationBar
,因此在此控制器中我有:
override func viewWillAppear(animated: Bool) {
self.navigationController?.setNavigationBarHidden(true,animated:true)
}
现在,我注意到这是一个全局设置,因为只要我访问另一个viewController
导航栏就会被隐藏。
因此,在我viewController
的每个viewWillAppear
中,我都会再次显示它。
但是,这是要走的路吗?
答案 0 :(得分:0)
您可以将navigationBar设置为隐藏在viewWillAppear中,并在此 one viewController的viewWillDisappear中显示为:
override func viewWillAppear(animated: Bool) {
self.navigationController?.setNavigationBarHidden(true,animated:true)
}
override func viewWillDisappear(animated: Bool) {
self.navigationController?.setNavigationBarHidden(false,animated:true)
}
答案 1 :(得分:0)
在你的UIViewController中,如果你正在使用UINavigationBar的引用插座,那么你可以通过隐藏的'来改变状态。属性,其中myNavigationBar是您定义的IBOutlet:
override func viewWillAppear(animated: Bool) {
self.myNavigationBar.hidden = true
}
编辑:看到马克的回答,我很想知道该属性或功能是否是首选方式?