4

我想知道为什么:

UIApplication.shared.windows.first { $0.isKeyWindow } 

在模拟器和设备上总是返回 nil。您可以通过在任何视图控制器的 viewDidLoad 中放置一个断点并将对象打印到控制台来确认这一点。

po UIApplication.shared.windows.first { $0.isKeyWindow } 

我可以获得“keyWindow”的唯一方法是获得

UIApplication.shared.windows.first

但是没有明确提到它是关键。如果 iPad 拆分视图上有我的应用程序的多个实例怎么办?

有任何想法吗?

我的想法是,如果只有一个窗口,则默认情况下它是关键窗口,如果您在 iPad 上运行多个窗口,则当前正在与之交互的窗口将成为关键窗口,但是,我还没有对此进行测试。

4

1 回答 1

-1

你试过这个吗?

UIApplication.shared.windows.filter {$0.isKeyWindow}.first
于 2019-12-08T13:03:36.957 回答