我的UIViewController嵌入在导航控制器中:
我尝试setNavigationBarHidden:animated:隐藏了通知栏。它有效,但延迟约2秒。这是截图:
我的用法是将其添加到viewDidLoad()
:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.setNavigationBarHidden(true, animated: false)
}
如何在启动屏幕时立即隐藏navigationbar
?
答案 0 :(得分:13)
在ViewController初始化ViewController.navigationController?.setNavigationBarHidden(true, animated: false)
答案 1 :(得分:3)
According the official document:
每个应用必须提供启动文件或至少一个静态图像。
延迟是由主故事板文件中的启动屏幕引起的。请勿将启动屏幕文件设置为Main.storyboard
文件。
在Project settings > General -> App Icons and Launch Images -> Launch Screen File
:
将其设置为另一个故事板:
答案 2 :(得分:2)
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBarHidden = true
}
//设置顶部栏无
答案 3 :(得分:2)
试试这个......
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
self.navigationController?.navigationBarHidden = true
}
答案 4 :(得分:2)
更好的方法是在viewWillLayoutSubviews()中实现您的代码。如果您使用导航或tapbar
,这是一种更好的方法Swift 4 :
override func viewWillLayoutSubviews() {
self.navigationController?.isNavigationBarHidden = true
}
答案 5 :(得分:1)
您需要在viewDidLoad()方法
中隐藏UINavigationBaroverride func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBarHidden = true
}
答案 6 :(得分:1)
对于swift 3: -
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.isNavigationBarHidden = true
}