标签: keywindow

创建新的UIWindows,接管关键窗口 - 糟糕的做法?

我正在开发一个应用程序,它需要显示覆盖范围以及其他所有内容.它通过创建一个新的UIWindow,并使用makeKeyAndVisble"接管"屏幕来实现这一点.完成后,它会将控制权返回给原始UIWindow.

这是一件坏事吗?感觉它正在控制应用程序的低水平,这通常很糟糕; 另一方面,它非常简单,所以也许完全可以接受.

意见/经验?

overlay uiwindow ios keywindow

5
推荐指数
1
解决办法
4170
查看次数

iOS 13 isKeyWindow 总是返回 nil

我想知道为什么:

UIApplication.shared.windows.first { $0.isKeyWindow } 
Run Code Online (Sandbox Code Playgroud)

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

po UIApplication.shared.windows.first { $0.isKeyWindow } 
Run Code Online (Sandbox Code Playgroud)

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

UIApplication.shared.windows.first
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?

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

uiapplication keywindow swift ios13 uiscene

5
推荐指数
1
解决办法
592
查看次数

标签 统计

keywindow ×2

ios ×1

ios13 ×1

overlay ×1

swift ×1

uiapplication ×1

uiscene ×1

uiwindow ×1