尝试将状态栏颜色从一个视图控制器更改为另一个视图控制器时,iOS 13 上似乎存在故障。之前的视图控制器将首选状态栏样式覆盖为浅色内容。导航到子视图时,我调用以下代码根据界面样式设置状态栏。
override var preferredStatusBarStyle: UIStatusBarStyle {
if #available(iOS 13, *) {
if self.traitCollection.userInterfaceStyle == .dark {
return .darkContent
} else {
return .lightContent
}
}
return .default
}
Run Code Online (Sandbox Code Playgroud)
状态栏看起来像这样,一半是亮的,时间是暗的(应该是这样)。在任意时间后,状态栏将正确绘制。我试过调用 setNeedsStatusBarDisplay()。哪个确实被调用,但在重新渲染后没有解决问题。这仅在 iOS 13 上发生。已在多个设备上进行测试
状态栏故障。时间很短,而电池和网络图标很暗:

提前致谢!