【问题标题】:How to hide status bar in swift?如何快速隐藏状态栏?
【发布时间】:2019-12-18 09:16:27
【问题描述】:

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

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
        }
    }

【问题讨论】:

  • 签出this
  • @Sayooj 我希望在导航栏未隐藏且此遮阳篷不适合我的问题时不要隐藏状态栏
  • 当您返回并再次在导航栏上滑动时,它会隐藏导航栏吗?
  • 是的,我的朋友@Sayooj
  • 我已经建立了一个示例项目here。检查这是否适合您。

标签: swift statusbar ios13


【解决方案1】:

你可以试试这个代码...:)

override var prefersStatusBarHidden: Bool {
    return true
}

【讨论】:

  • 确实是这样,但是如果我去另一个viewcontroller再回去就不行了
【解决方案2】:

只需添加这个

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

【讨论】:

    【解决方案3】:
    • 您可以使用选项initially hides status bar 将其隐藏在info.plist 中,并赋予价值true

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

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

      override var prefersStatusBarHidden: Bool {
      return false
      }
      

    【讨论】:

      猜你喜欢
      • 2018-03-14
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多