在iOS 8中为单独的ViewControllers更改状态栏颜色(Swift)
大家好!我是Swift和iOS开发的新手。我正在编写一个需要支持iOS 8的应用程序。遇到了一个问题:我需要不同屏幕的状态栏文本颜色(屏幕顶部显示时间、电池电量等的位置)不同。例如,在白色背景的主屏幕上,文本应该是黑色的,而在深色背景的屏幕上,文本应该是白色的。
我已经尝试在`viewDidLoad`中设置`UIApplication.shared.statusBarStyle = .lightContent`,但这会更改整个应用程序的颜色,而不是特定控制器的颜色。此外,Xcode会发出警告,指出此方法在iOS 9及更高版本中已弃用。
我读到需要在ViewController中重写`preferredStatusBarStyle`方法,但我没有成功。这是我的代码:
```swift
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 尝试在这里更改——不起作用
}
override var preferredStatusBarStyle: UIStatusBarStyle
```