gpt4 book ai didi

swift - iOS 13 设置状态栏背景色

转载 作者:行者123 更新时间:2023-12-02 16:52:12 25 4
gpt4 key购买 nike

我以前有以下代码,但升级到 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)
}

最佳答案

Kuray 刚刚在这里为我提供了一个解决方案:

https://freakycoder.com/ios-notes-13-how-to-change-status-bar-color-1431c185e845

将以下内容添加到 viewdidload。请前往他的媒体帖子并给他一些鼓掌!

if #available(iOS 13.0, *) {
let app = UIApplication.shared
let statusBarHeight: CGFloat = app.statusBarFrame.size.height

let statusbarView = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: statusBarHeight))
statusbarView.backgroundColor = UIColor.red
view.addSubview(statusbarView)
} else {
let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView
statusBar?.backgroundColor = UIColor.red
}

关于swift - iOS 13 设置状态栏背景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58113890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com