一尘不染

无法隐藏状态栏-迅速3,

swift

我通常会隐藏状态栏

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

但是Xcode给我一个错误,说“方法不会覆盖
其超类中的任何内容”。

如果我删除override,则Xcode会给出另一个错误:“
带有Objective-C选择器’prefersStatusBarHidden’的方法’prefersStatusBarHidden()’与 具有相同Objective-C选择器的
超类
‘UIViewController’的getter的’prefersStatusBarHidden’ 发生冲突”

在目标的常规设置中,我还选中了“隐藏状态栏”:

但是状态栏仍然显示。

我在另一个堆栈溢出答案中找到了这种方法

UIApplication.shared.setStatusBarHidden(true, with: .none)

但这也不会隐藏状态栏。

在Xcode 8 Beta 1中,我使用了第一种和第二种方法,它们可以隐藏
状态栏(第一种方法没有返回错误)。现在
如何使用Xcode 8 Beta 4隐藏状态栏?

注意:状态栏显示在所有
运行iOS 10的Simulator设备和物理设备上。


阅读 321

收藏
2020-07-07

共1个答案

一尘不染

我们需要在Swift 3上覆盖属性本身(这是Xcode 8
Beta 4中的新增功能):

override var prefersStatusBarHidden: Bool {  
    return true  
}

updated Swift 5+

override var prefersStatusBarHidden: Bool { true }
2020-07-07