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

2022-03-09  本文已影响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

        }

    }

}

上一篇 下一篇

猜你喜欢

热点阅读