【问题标题】:Hiding the statusbar iOS隐藏状态栏 iOS
【发布时间】:2017-03-20 09:02:35
【问题描述】:

我正在尝试仅在我的应用的登录页面上隐藏状态栏。我认为这是正确的功能,它确实被执行了,但是状态栏仍然存在

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    FBSDKLoginManager().logOut()

    self.prefersStatusBarHidden()
}

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

我做错了什么?

【问题讨论】:

  • self.prefersStatusBarHidden 这是错误的(而且毫无意义)。你从不调用这个方法。
  • 你能解释一下为什么我不应该调用这个方法吗?我希望我的状态栏只隐藏在我的登录页面上。
  • 删除这一行,self.prefersStatusBarHidden()。 @RutgerHuijsmans
  • self.prefersStatusBarHidden() 删除此行,一切都会正常运行

标签: ios swift


【解决方案1】:

试试这个。

在 info.plist 中添加以下条目

查看基于控制器的状态栏外观 -> YES

状态栏最初是隐藏的 -> 是

在 ViewControllers 中,你想在其中隐藏 StatusBar,写下面的方法。

override var prefersStatusBarHidden: Bool {  
    return true  
}  

【讨论】:

  • 谢谢@Wolverine
【解决方案2】:

在 plist 文件中为键“查看基于控制器的状态栏外观”设置值“否”

并且无需手动调用“self.prefersStatusBarHidden()”,因此将其从 viewDidAppear 中删除

【讨论】: