不能隐藏状态栏 – 斯威夫特3,
我通常隐藏状态栏
override func prefersStatusBarHidden() -> Bool { return true }
但Xcode给了我一个错误,说“方法不会覆盖任何超类”。
如果我删除override
,Xcode提供了一个不同的错误:“Objective-Cselect器”prefersStatusBarHidden“的方法'prefersStarusBarHidden()'与具有相同Objective-Cselect器的超类'UIViewController'的'prefersStatusBarHidden'
我的目标的一般设置中也有“隐藏状态栏”:
但状态栏仍然显示。
我发现这个方法在另一个堆栈溢出的答案
UIApplication.shared.setStatusBarHidden(true, with: .none)
但是这并不隐藏状态栏。
在Xcode 8 Beta 1中,我使用了第一种和第二种方法,它们用来隐藏状态栏(第一种方法没有返回错误)。 现在我可以做什么来隐藏状态栏,与Xcode 8 Beta 4?
注意:状态栏显示在所有运行iOS 10的模拟器设备和物理设备上。
我们需要在Swift 3上重写属性本身(这是Xcode 8 Beta 4中的新function):
override var prefersStatusBarHidden: Bool { return true }
另一个例子,你也可以在这里和这里
更多关于这个变化是什么以及为什么这是必要的,看到马特在这方面的伟大答案 。
- 如何在Swift中创build一个空数组?
- UIGestureRecognizer阻止子视图处理触摸事件
- iOS 9.0之前的UIStackView
- 创buildiOS / OSX框架:在分发给其他开发者之前,是否需要对它们进行编码?
- 为什么Objective-C的代表通常给予属性赋值而不是保留?
- 什么时候应该在Xcode中使用“embedded式二进制文件”而不是“链接的框架”?
- 如何构build适用于iOS的Unity3d插件
- @IBDesignable错误:IB Designables:无法更新自动布局状态:Interface Builder Cocoa Touch Tool崩溃
- UIImage imageNamed返回nil