Avatar ·

在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 ```