iOS 13 isKeyWindow 始终返回 nil

iOS 13 isKeyWindow always returns nil

提问人:Diz 提问时间:12/8/2019 最后编辑:Daniel StormDiz 更新时间:12/8/2019 访问量:570

问:

我想知道为什么:

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

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

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

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

UIApplication.shared.windows.first

但没有明确提到这是关键。如果我的 App 在 iPad 分屏浏览中有多个实例,该怎么办?

有什么想法吗?

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

Swift iOS13 UI应用 键窗口 UISeject

评论

1赞 Daniel Storm 12/8/2019
这回答了你的问题吗?如何解决:“keyWindow”在 iOS 13.0 中已弃用
0赞 Diz 12/8/2019
我的问题是对这个问题的直接回答,所以不 - 它没有。Thnx tho.
1赞 trndjc 12/8/2019
你的代码永远不会为我带来好处。nil
0赞 trndjc 12/8/2019
订阅 和 通知并观察行为。didBecomeKeyNotificationdidResignKeyNotification

答:

-1赞 Boris 12/8/2019 #1

你试过这个吗?

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

评论

0赞 Diz 12/10/2019
不幸的是,同样的结果。Thnx tho.