【发布时间】:2020-01-26 13:27:27
【问题描述】:
我以前有以下代码,但升级到 iOS 13 后,我收到以下错误:
UIApplication.shared.statusBarView?.backgroundColor = UIColor(red: 94/225, green: 64/255, blue:204/255, alpha: 1.0)
在 UIApplication 上调用 -statusBar 或 -statusBarWindow 的应用程序:必须更改此代码,因为不再有状态栏或状态栏窗口。在窗口场景中使用 statusBarManager 对象。'
现在状态栏的背景颜色怎么设置?
警告消息提到使用 statusBarManager,所以我做了这样的事情,但我无法让它工作。
var statusBar = UIView()
if #available(iOS 13.0, *) {
statusBar = UIView(frame: UIApplication.shared.keyWindow?.windowScene?.statusBarManager?.statusBarFrame ?? CGRect.zero)
statusBar.backgroundColor = UIColor.red
UIApplication.shared.keyWindow?.addSubview(statusBar)
} else {
//ios 12 and below
UIApplication.shared.statusBarView?.backgroundColor = UIColor(red: 94/225, green: 64/255, blue:204/255, alpha: 1.0)
}
【问题讨论】:
-
你尝试使用
statusBarManager吗? -
我会将其标记为 stackoverflow.com/questions/56651245/… 的副本,但它没有一个有效的答案。