Luk*_*ger 6 uiwindow ios uistatusbar swift ios13
我正在尝试使用Xcode 11 beta 6和iOS 13 beta 8构建我的应用程序,但是一旦它开始运行,它将引发此错误:
由于未捕获的异常“ NSInternalInconsistencyException”而终止应用程序,原因:“在UIApplication上名为-statusBar或-statusBarWindow的应用程序:由于不再有状态栏或状态栏窗口,因此必须更改此代码。而是在窗口场景上使用statusBarManager对象。'
什么是窗口场景,如何使用statusBarManager?
而且我不确定这是否相关,但是我没有使用any SwiftUI。
Man*_*nav 10
您需要添加以下扩展来访问 statusbarview :
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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1753 次 |
| 最近记录: |