如何在swift中隐藏状态栏?

如何在swift中隐藏状态栏?,swift,statusbar,ios13,Swift,Statusbar,Ios13,我使用了下面的代码来隐藏状态栏,效果很好 但它在我转到另一页之前一直有效。也就是说,如果我转到另一个页面并返回,它将不再工作 有人知道为什么吗? 有人能帮我吗 class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() navigationController?.hidesBarsOnSwipe = true } ove

我使用了下面的代码来隐藏状态栏,效果很好 但它在我转到另一页之前一直有效。也就是说,如果我转到另一个页面并返回,它将不再工作 有人知道为什么吗? 有人能帮我吗

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
        }
    }
您可以尝试以下代码…:)

您可以尝试以下代码…:)

再加上这个

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

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// call this func to force preferredStatusBarStyle to be read again.
setNeedsStatusBarAppearanceUpdate()}
  • 您可以使用选项
    info.plist
    中隐藏它初始隐藏状态 条形图
    给定值
    true
这将隐藏整个应用程序的状态栏

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

    override var prefersStatusBarHidden: Bool {
    return false
    }
    
      • 您可以使用选项
        info.plist
        中隐藏它初始隐藏状态 条形图
        给定值
        true
      这将隐藏整个应用程序的状态栏

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

        override var prefersStatusBarHidden: Bool {
        return false
        }
        

      没错,但如果我转到另一个viewcontroller并返回,它将不起作用。没错,但如果我转到另一个viewcontroller并返回,这不管用out@Sayooj当导航栏未隐藏时,我希望状态栏不被隐藏,并且此awnser不适用于我的问题当你回来并再次在导航栏上滑动时,它是否隐藏了导航栏?是的,我的朋友@SayoojI已经提供了一个示例项目。检查这是否对你有效。检查out@Sayooj当导航栏未隐藏时,我希望状态栏不被隐藏,并且此awnser不适用于我的问题当你回来并再次在导航栏上滑动时,它是否隐藏了导航栏?是的,我的朋友@SayoojI已经提供了一个示例项目。检查一下这是否适合你。