iOS 13适配

获取 keywindow

private func keywindows() -> UIWindow? {
    var window:UIWindow? = nil
    if #available(iOS 13.0, *) {
        for windowScene:UIWindowScene in ((UIApplication.shared.connectedScenes as?  Set<UIWindowScene>)!) {
            if windowScene.activationState == .foregroundInactive || windowScene.activationState == .foregroundActive {
                window = windowScene.windows.first
                break
            }
        }
        return window
    }else{
        return  UIApplication.shared.keyWindow
    }
}

获取状态栏高度

private func stateHeight() -> CGFloat {
    if #available(iOS 13.0, *) {
        return (keywindows().windowScene?.statusBarManager!.statusBarFrame.height)!
    }else {
        return UIApplication.shared.statusBarFrame.height
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容