How to hide status bar of a single view controller in iOS 9?

后端 未结 15 1272
挽巷
挽巷 2020-12-13 06:15

In a ViewController, which I presented modally, I did this:

override func prefersStatusBarHidden() -> Bool {
    return true
}

This used

15条回答
  •  悲哀的现实
    2020-12-13 06:51

    Complete solution for iOS 11 and Swift 4, giving you full control from your program.

    var statusBarHidden : Bool?
    
    override var prefersStatusBarHidden: Bool {
        get {
            if let status = statusBarHidden { return status } else { return false }
        }
        set(status) {
            statusBarHidden = status
            setNeedsStatusBarAppearanceUpdate()
        }
    }
    

    Now you can simply show or hide the status bar by setting the property from your code. I tested it like this:

    @IBAction func Show(_ sender: Any) {
        prefersStatusBarHidden = false
    }
    
    @IBAction func Hide(_ sender: Any) {
        prefersStatusBarHidden = true
    }
    

    Works like a charm.

提交回复
热议问题