美文网首页
郑州iOS點-Swift关于获取当前window的方法

郑州iOS點-Swift关于获取当前window的方法

作者: 大點哥 | 来源:发表于2022-03-09 18:34 被阅读0次

/// 获取当前window

func currentWindow() -> UIWindow? {

    if #available(iOS 14.0, *) {

        if let window = UIApplication.shared.connectedScenes.map({$0 as? UIWindowScene}).compactMap({$0})

            .first?.windows.first {

            return window

        }else if let window =UIApplication.shared.delegate?.window {

            return window

        }else{

            return nil

        }

    } else if #available(iOS 13.0, *) {

        if let window =UIApplication.shared.connectedScenes

            .filter({$0.activationState == .foregroundActive})

            .map({$0as?UIWindowScene})

            .compactMap({$0})

            .first?.windows

            .filter({$0.isKeyWindow}).first{

            return window

        }else if let window =UIApplication.shared.delegate?.window {

            return window

        }else{

            return nil

        }

    }else{

        if let window =UIApplication.shared.delegate?.window {

            return window

        }else{

            return nil

        }

    }

}

相关文章

网友评论

      本文标题:郑州iOS點-Swift关于获取当前window的方法

      本文链接:https://www.haomeiwen.com/subject/jdtxdrtx.html