[英]How to change the color of status bar to a custom color other than light and dark in iOS 14, Swift 5?
我想将状态栏的颜色(电池百分比、时间和 wifi 等)更改为 Apple 提供的.lightContent
和.darkContent
以外的自定义颜色(红色、黄色、蓝色等)。 甚至有可能这样做吗? 如果是,请帮我解决这个问题。 我已经在 google 和 stackoverflow 上看到了答案,但它们只更改了 backgroundColor,主要是弃用了 keyWindow。 我正在使用Swift 5 and iOS 14.4
。
if #available(iOS 13.0, *) {
let app = UIApplication.shared
let statusBarHeight: CGFloat = app.statusBarFrame.size.height
let statusbarView = UIView()
statusbarView.backgroundColor = UIColor.red
view.addSubview(statusbarView)
statusbarView.translatesAutoresizingMaskIntoConstraints = false
statusbarView.heightAnchor
.constraint(equalToConstant: statusBarHeight).isActive = true
statusbarView.widthAnchor
.constraint(equalTo: view.widthAnchor, multiplier: 1.0).isActive = true
statusbarView.topAnchor
.constraint(equalTo: view.topAnchor).isActive = true
statusbarView.centerXAnchor
.constraint(equalTo: view.centerXAnchor).isActive = true
} else {
let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView
statusBar?.backgroundColor = UIColor.red
}
就是这样:) 不要忘记在 viewDidLoad function 上使用它。 如果您使用的是 TabBarController,则此代码段应位于 viewWillAppear function 上。 这个很重要!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.