郑州iOS點-Swift关于获取当前window的方法
/// 获取当前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
}
}
}