我通常会隐藏状态栏
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设备和物理设备上。
我们需要在Swift 3上覆盖属性本身(这是Xcode 8 Beta 4中的新增功能):
override var prefersStatusBarHidden: Bool { return true }
updated Swift 5+
override var prefersStatusBarHidden: Bool { true }