swift小技巧之获取keywindow

  • 获取keywindow方法

    let keyWindow:UIWindow = {
        var window:UIWindow = UIApplication.shared.keyWindow!
        if #available(iOS 13.0, *) {
            window = UIApplication.shared.windows.filter({ $0.isKeyWindow }).last!
        }
        return window
    }()
  • ios13之后获取

    let window = UIApplication.shared.windows.filter({ $0.isKeyWindow }).last
    或者
    let window = UIApplication.shared.connectedScenes
            .filter({ $0.activationState == .foregroundActive })
            .map({ $0 as? UIWindowScene })
            .compactMap({ $0 })
            .last?.windows
            .filter({ $0.isKeyWindow })
            .last

posted on 2021-08-31 13:30  梁飞宇  阅读(1538)  评论(0)    收藏  举报