Ios Swift-更改槽口设备上的状态栏颜色
我知道这个问题已经被问了很多,也得到了很多回答,但我似乎无法让它发挥作用 我有一个带有全尺寸WKWebView的UIViewController。一切正常,除了状态栏在notch设备上看起来不合适之外。 问题是,任何东西都不起作用,甚至我自己的代码也无法从其他应用程序中获得 到目前为止我尝试过的东西(在另一个应用程序中效果很好…): 这是:Ios Swift-更改槽口设备上的状态栏颜色,ios,swift,navbar,statusbar,Ios,Swift,Navbar,Statusbar,我知道这个问题已经被问了很多,也得到了很多回答,但我似乎无法让它发挥作用 我有一个带有全尺寸WKWebView的UIViewController。一切正常,除了状态栏在notch设备上看起来不合适之外。 问题是,任何东西都不起作用,甚至我自己的代码也无法从其他应用程序中获得 到目前为止我尝试过的东西(在另一个应用程序中效果很好…): 这是: extension UIApplication { var statusBarUIView: UIView? { if #ava
extension UIApplication {
var statusBarUIView: UIView? {
if #available(iOS 13.0, *) {
let tag = 3848245
let keyWindow: UIWindow? = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
if let statusBar = keyWindow?.viewWithTag(tag) {
return statusBar
} else {
let height = keyWindow?.windowScene?.statusBarManager?.statusBarFrame ?? .zero
let statusBarView = UIView(frame: height)
statusBarView.tag = tag
statusBarView.layer.zPosition = 999999
keyWindow?.addSubview(statusBarView)
return statusBarView
}
} else {
if responds(to: Selector(("statusBar"))) {
return value(forKey: "statusBar") as? UIView
}
}
return nil
}
}
从这里开始的一切:
甚至尝试过在WKWebView中显示的我的网页上执行此操作:
解决这个问题的唯一方法是更改主视图的背景颜色。
问题是,这也会改变底部部分的颜色
我甚至试着在info.plist文件中乱搞样式
你知道我遗漏了什么吗?你试过
UINavigationBarAppearance()
?@RajaKishan我试过了,同样的结果。
extension UIApplication {
var statusBarUIView: UIView? {
if #available(iOS 13.0, *) {
let tag = 3848245
let keyWindow: UIWindow? = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
if let statusBar = keyWindow?.viewWithTag(tag) {
return statusBar
} else {
let height = keyWindow?.windowScene?.statusBarManager?.statusBarFrame ?? .zero
let statusBarView = UIView(frame: height)
statusBarView.tag = tag
statusBarView.layer.zPosition = 999999
keyWindow?.addSubview(statusBarView)
return statusBarView
}
} else {
if responds(to: Selector(("statusBar"))) {
return value(forKey: "statusBar") as? UIView
}
}
return nil
}
}