我需要一个白色的状态栏为我的主要初始ViewController,但也能够隐藏在另一个ViewController。我可以做一个或另一个,但不能同时做。有什么建议么?iOS设置状态栏白色,并隐藏在另一个ViewController
我将它设置为白色由 的Info.plist
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
设置
基于控制器的视图状态栏的外观关键NO并隐藏它(在另一个ViewController模态地呈现)我呢,
override func prefersStatusBarHidden() -> Bool { return statusBarHidden }
但是它不会隐藏,除非我删除了我之前添加到Info.plist的密钥,但是如果我删除了密钥,那么状态栏会回到黑色。
编辑,我的解决方案: 视图控制器类没有在我的情况下工作,因为我有嵌入导航控制器的主视图控制器,我的修补程序是覆盖相同的方法,但对于导航控制器,而不是有问题的视图控制器。
extension UINavigationController { public override func preferredStatusBarStyle() -> UIStatusBarStyle { return .LightContent } }
哪个版本的Xcode是你的工作吗?我的意思是swift3或更早版本? – Rajat
swift 2.2,xcode 7.3 ...还需要留在xcode7.3中一段时间。 – sweepez
不要为此使用Info.plist。使用提供的视图控制器方法。 – matt