在阅读了所有的建议,并尝试了一些事情之后,我可以使用以下步骤让它为特定的视图控制器工作:
第一步:
打开你的信息。并插入一个名为“View controller based status bar appearance”的新键到NO
第二步(只是一个解释,不需要实现这个):
通常我们在应用程序中放入以下代码(_:didFinishLaunchingWithOptions:)
方法,
斯威夫特2
UIApplication.sharedApplication().statusBarStyle = .LightContent
斯威夫特3
UIApplication.shared.statusBarStyle = .lightContent
但那会影响所有viewcontroller的statusBarStyle。
那么,如何让它为特定的viewcontroller工作-最后一步:
打开你想要更改statusBarStyle的视图控制器文件,并将以下代码放在viewWillAppear()中,
斯威夫特2
UIApplication.sharedApplication().statusBarStyle = .LightContent
斯威夫特3
UIApplication.shared.statusBarStyle = .lightContent
同样,为特定的viewController实现viewWillDisappear()方法,并放入以下代码行:
斯威夫特2
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default
}
斯威夫特3
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.statusBarStyle = UIStatusBarStyle.default
}
这一步将首先更改特定视图控制器的statusBarStyle,然后在特定视图控制器消失时将其更改回默认值。不实现viewWillDisappear()将永久性地将statusBarStyle更改为UIStatusBarStyle的新定义值。LightContent