首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >名为-statusBar或-statusBarWindow on UIApplication的应用

名为-statusBar或-statusBarWindow on UIApplication的应用
EN

Stack Overflow用户
提问于 2019-09-05 08:34:01
回答 2查看 8.1K关注 0票数 14

我正在尝试用Xcode 11 beta 6和iOS 13 beta 8构建我的应用程序,但是一旦它开始运行,它就会抛出这个错误:

'NSInternalInconsistencyException',原因:“应用程序名为-statusBar或-statusBarWindow on UIApplication:必须更改此代码,因为不再有状态栏或状态栏窗口。请在窗口场景中使用statusBarManager对象。

窗口场景是什么?如何使用statusBarManager

我不确定这是否相关,但我没有使用任何SwiftUI

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-05 11:12:05

您需要添加以下扩展来访问statusbarview:

代码语言:javascript
复制
extension UIApplication {
    var statusBarUIView: UIView? {
        if #available(iOS 13.0, *) {
            let tag = 38482458385
            if let statusBar = self.keyWindow?.viewWithTag(tag) {
                return statusBar
            } else {
                let statusBarView = UIView(frame: UIApplication.shared.statusBarFrame)
                statusBarView.tag = tag

                self.keyWindow?.addSubview(statusBarView)
                return statusBarView
            }
        } else {
            if responds(to: Selector(("statusBar"))) {
                return value(forKey: "statusBar") as? UIView
            }
        }
        return nil
    }
}
票数 12
EN

Stack Overflow用户

发布于 2020-11-20 05:31:29

To access StatusBar in Swift 5+和iOS 13+

需要用statusBarManager.替换-satusBar或-statusWindow

代码语言:javascript
复制
if #available(iOS 13.0, *) {

        let statusBar = UIView(frame: UIApplication.shared.windows.filter {$0.isKeyWindow}.first?.windowScene?.statusBarManager?.statusBarFrame ?? CGRect.zero)
        statusBar.backgroundColor = .appNavigationThemeColor
          //  statusBar.tag = 100
        UIApplication.shared.windows.filter {$0.isKeyWindow}.first?.addSubview(statusBar)

    } else {

            let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView
            statusBar?.backgroundColor = .appNavigationThemeColor

        }
    }

希望将有所帮助:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57801484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档