如何在Swift中立即隐藏导航栏?

How to hide navigation bar immediately in Swift?

我的 UIViewController 嵌入在导航控制器中:

我试过 setNavigationBarHidden:animated: 隐藏通知栏。它有效,但有大约 2 秒的延迟。这是屏幕截图:

我的用法是在viewDidLoad()中添加:

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController?.setNavigationBarHidden(true, animated: false)
}

如何在屏幕启动时立即隐藏navigationbar

ViewController单元ViewController.navigationController?.setNavigationBarHidden(true, animated: false)

时隐藏导航栏

#添加这一行 inside view did load 方法

override func viewDidLoad() {
        super.viewDidLoad()
        navigationController?.isNavigationBarHidden = true
    }

##否则直接从 StoreyBoard 执行此操作

//设置顶栏None

[![在此处输入图片描述][1]][1] [1]: http://i.stack.imgur.com/CGIsC.png

希望对您有所帮助。

您需要在 viewDidLoad() 方法中隐藏 UINavigationBar

override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBarHidden = true 
}

According the official document:

Every app must supply a launch file or at least one static image.

延迟是由主故事板文件的启动屏幕引起的。不要将启动屏幕文件设置为您的 Main.storyboard 文件。

Project settings > General -> App Icons and Launch Images -> Launch Screen File中:

将其设置为另一个故事板:

试试这个...

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)

    self.navigationController?.navigationBarHidden = true
}

对于swift 3:-

override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationController?.isNavigationBarHidden = true
    }

更好的方法是在 viewWillLayoutSubviews() 中实现您的代码。如果您使用导航或点击栏,这是一个更好的方法

Swift 4 :

override func viewWillLayoutSubviews() {
    self.navigationController?.isNavigationBarHidden = true
}