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