当目标为ios 11.0或字母时访问Xcode 11.3中的UIWindow实例
问题是我使用的Xcode 11具有新的AppDelegate/SceneDelegate设置。因此,UIWindow为nil,因此未设置新的rootViewController。我知道在iOS 13中,窗口是在SceneDelegate中访问的,但是这个项目的目标是iOS 11或letter。SceneDelegate类是由@available(iOS 13.0,*)进行的。 如何从appDelegate访问UIWindow?当目标为ios 11.0或字母时访问Xcode 11.3中的UIWindow实例,ios,swift,appdelegate,uiscenedelegate,Ios,Swift,Appdelegate,Uiscenedelegate,问题是我使用的Xcode 11具有新的AppDelegate/SceneDelegate设置。因此,UIWindow为nil,因此未设置新的rootViewController。我知道在iOS 13中,窗口是在SceneDelegate中访问的,但是这个项目的目标是iOS 11或letter。SceneDelegate类是由@available(iOS 13.0,*)进行的。 如何从appDelegate访问UIWindow? 我正在使用Xcode 11.3和Swift 5.0。这是我在项目中使
我正在使用Xcode 11.3和Swift 5.0。这是我在项目中使用的扩展
extension UIWindow {
static var key: UIWindow? {
if #available(iOS 13, *) {
return UIApplication.shared.windows.first { $0.isKeyWindow }
} else {
return UIApplication.shared.keyWindow
}
}
}
这就是您使用此扩展的方式
if let getWindow = UIWindow.key {
// use getWindow to perform action on window
}
这是我在项目中使用的扩展
extension UIWindow {
static var key: UIWindow? {
if #available(iOS 13, *) {
return UIApplication.shared.windows.first { $0.isKeyWindow }
} else {
return UIApplication.shared.keyWindow
}
}
}
这就是您使用此扩展的方式
if let getWindow = UIWindow.key {
// use getWindow to perform action on window
}
您可以将项目还原为appdelegate您可以将项目还原为appdelegate