在阅读了所有建议并try 了一些方法后,我可以通过以下步骤使其适用于特定的ViewController:
First Step:
打开你的信息.plist并在NO中插入一个名为"View controller-based status bar appearance"的新密钥
Second Step (Just an explanation, no need to implement this):
通常,我们会在应用程序中放入以下代码(u:didFinishLaunchingWithOptions:)
Swift 2
UIApplication.sharedApplication().statusBarStyle = .LightContent
Swift 3
UIApplication.shared.statusBarStyle = .lightContent
但那是affects the 100 of all the ViewControllers.
So, how to get this working for specific ViewControllers - Final Step:
打开要更改statusBarStyle
的viewcontroller文件,并将以下代码放入viewWillAppear()
,
Swift 2
UIApplication.sharedApplication().statusBarStyle = .LightContent
Swift 3
UIApplication.shared.statusBarStyle = .lightContent
另外,为特定的viewController实现viewWillDisappear()
方法,并输入以下代码行,
Swift 2
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default
}
Swift 3
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.statusBarStyle = UIStatusBarStyle.default
}
此步骤将首先更改特定viewcontroller的statusBarStyle
,然后在特定viewcontroller消失时将其更改回default
.不执行viewWillDisappear()
将永久性地将statusBarStyle
更改为新定义的值UIStatusBarStyle.LightContent