【问题标题】:Swift 3 | Unable to hide status bar on a ViewController斯威夫特 3 |无法隐藏 ViewController 上的状态栏
【发布时间】:2017-08-04 22:35:51
【问题描述】:

我只想在纵向模式下显示状态栏,当我旋转屏幕时,状态栏会按预期隐藏,但如果我按下/显示新的视图控制器,状态栏会再次出现。

我尝试了以下方法但没有成功:

  • 在info.plist 文件中将View controller-based status bar appearance 设置为NO
  • 在self 和NavigationController 上使用setNeedsStatusBarAppearanceUpdate()
  • 将prefersStatusBarHidden: Bool 设置为true
  • 也试过UIApplication.shared.setStatusBarHidden(true, with: UIStatusBarAnimation.none)
  • 还扩展了 NavigationController。 seen here

任何帮助将不胜感激。谢谢。

【问题讨论】:

标签: iphone swift3 ios10 statusbar


【解决方案1】:

尝试以下代码

override var prefersStatusBarHidden: Bool {

    if UIDevice.current.orientation.isPortrait{
        return false
    }
    return true
}

【讨论】:

  • 除了代码之外,您能否解释一下这是如何解决问题的?谢谢
  • 我已经在主视图控制器中编写了这段代码还在 info.plist 中将基于视图控制器的状态栏外观设置为 NO 当我在导航后返回主视图控制器时,根据横向和纵向模式工作正常
  • 嗨@JalpaJani,这就是我正在做的事情,但我确实缩短了我的问题,只是为了阅读目的,'prefersStatusBarHidden: Bool to true',但无论如何谢谢!
猜你喜欢
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 2017-02-15
  • 1970-01-01
  • 2021-10-18
  • 2017-07-22
相关资源
最近更新 更多