如何快速隐藏状态栏?

时间:2019-12-18 09:16:27

标签: swift statusbar ios13

我使用以下代码隐藏状态栏,它可以正常工作 但这一直有效,直到我转到另一页为止。也就是说,如果我转到另一个页面并返回,它将不再起作用 有人知道为什么吗? 谁能帮我吗?

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        navigationController?.hidesBarsOnSwipe = true
    }
    override var prefersStatusBarHidden : Bool {
        if self.navigationController?.isNavigationBarHidden == true {
            return true
        } else {
            return false
        }
    }

3 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码...:)

override var prefersStatusBarHidden: Bool {
    return true
}

答案 1 :(得分:0)

只需添加一个

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// call this func to force preferredStatusBarStyle to be read again.
setNeedsStatusBarAppearanceUpdate()}

答案 2 :(得分:0)

  • 您可以使用选项info.plistinitially hides status bar隐藏起来,并赋予值true

这将隐藏整个应用程序的状态栏

  • 然后使用以下代码将其显示到特定的viewcontrollers

    override var prefersStatusBarHidden: Bool {
    return false
    }