当目标是ios 11.0或字母时,在Xcode 11.3中访问UIWindow实例

问题描述 投票:0回答:1

问题是我正在使用Xcode 11,它具有新的AppDelegate / SceneDelegate设置。因此,UIWindow为零,因此未设置新的rootViewController。我知道在iOS 13中可以在SceneDelegate中访问该窗口,但是该项目的目标是iOS 11或字母。SceneDelegate类已经由@available(iOS 13.0,*)进行了处理。如何从UIWindow访问appDelegate?我正在使用Xcode 11.3Swift 5.0

swift appdelegate uiscenedelegate
1个回答
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
}
© www.soinside.com 2019 - 2024. All rights reserved.