我想知道为什么:
UIApplication.shared.windows.first { $0.isKeyWindow }
总是在模拟器和设备上都返回零。您可以通过在任何视图控制器的viewDidLoad中放置一个断点并将对象打印到控制台来确认这一点。
po UIApplication.shared.windows.first { $0.isKeyWindow }
我获得“ keyWindow”的唯一方法是通过获得
UIApplication.shared.windows.first
但是没有明确提及这是关键。如果我的应用在iPad Split视图上有多个实例怎么办?
有什么想法吗?
我的想法是,如果只有一个窗口,则默认情况下它是关键,如果您在iPad上运行多个窗口,则当前正在与之交互的窗口将成为关键窗口,但是,我尚未对此进行测试。
UIApplication.shared.windows.filter {$0.isKeyWindow}.first