Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift-更改槽口设备上的状态栏颜色_Ios_Swift_Navbar_Statusbar - Fatal编程技术网

Ios Swift-更改槽口设备上的状态栏颜色

Ios Swift-更改槽口设备上的状态栏颜色,ios,swift,navbar,statusbar,Ios,Swift,Navbar,Statusbar,我知道这个问题已经被问了很多,也得到了很多回答,但我似乎无法让它发挥作用 我有一个带有全尺寸WKWebView的UIViewController。一切正常,除了状态栏在notch设备上看起来不合适之外。 问题是,任何东西都不起作用,甚至我自己的代码也无法从其他应用程序中获得 到目前为止我尝试过的东西(在另一个应用程序中效果很好…): 这是: extension UIApplication { var statusBarUIView: UIView? { if #ava

我知道这个问题已经被问了很多,也得到了很多回答,但我似乎无法让它发挥作用

我有一个带有全尺寸WKWebView的UIViewController。一切正常,除了状态栏在notch设备上看起来不合适之外。 问题是,任何东西都不起作用,甚至我自己的代码也无法从其他应用程序中获得

到目前为止我尝试过的东西(在另一个应用程序中效果很好…):

这是:

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
      }
}