ios-无法隐藏状态栏-Swift 3,

这个问题已经在这里有了答案:

  • supportedInterfaceOrientations方法不会覆盖其超类中的任何方法 1个答案

我通常会隐藏状态栏

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

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

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


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

enter image description here

但是状态栏仍然显示。


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

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

但这也不会隐藏状态栏。


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

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

owlswipe asked 2020-06-17T01:34:36Z
1个解决方案
110 votes

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

override var prefersStatusBarHidden: Bool {  
    return true  
}  

再举一个例子,你也可以在这里和这里

有关此更改的含义及其必要性的更多信息,请参见Matt对此的精彩回答。

Anbu.Karthik answered 2020-06-17T01:35:00Z
translate from https://stackoverflow.com:/questions/38876249/cant-hide-status-bar-swift-3