我在视图控制器中添加了以下方法,将状态栏图标的颜色更改为白色。
override func viewWillAppear(_ animated: Bool) {
UIApplication.shared.statusBarStyle = .lightContent
super.viewWillAppear(animated)
}
override var preferredStatusBarStyle : UIStatusBarStyle {
return .lightContent
}
视图加载和图标按预期显示为白色,但经过明显延迟(最多10秒)。视图加载得很好,10秒后图标会弹出,通常是一个接一个的。
我在xcode中添加了断点,看到viewDidLoad在viewwill出现之前被调用,我相信它应该是相反的。这可能是问题所在吗?
我也试着加上
UIApplication.shared.statusBarStyle = .lightContent
进入viewDidLoad()方法,应用程序不受影响。
最佳答案
只需在super.viewWillAppear(animated)
之后替换您编写的UIApplication.shared.statusBarStyle = .lightContent
代码。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
UIApplication.shared.statusBarStyle = .lightContent
}
override var preferredStatusBarStyle : UIStatusBarStyle {
return .lightContent
}