首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >向iOS应用程序添加另一个UIWindow的优点、问题和示例?

向iOS应用程序添加另一个UIWindow的优点、问题和示例?
EN

Stack Overflow用户
提问于 2011-11-23 03:11:47
回答 3查看 15.9K关注 0票数 92

最近我一直在想一个事实,一个iOS应用程序只有一个UIWindow。创建另一个UIWindow并将其放在屏幕上似乎不是问题。

我的问题有点模糊,但我感兴趣的是:

  • 使用第二个UIWindow可以实现哪些其他方式无法实现的目标?
  • 使用多个UIWindow实例时会出现什么问题?
  • 我看到人们使用第二个UIWindow在iPhone上显示类似于视图的弹出窗口。这是一个好的方法吗?为什么?为什么不呢?
  • 还有没有其他完全有意义的例子呢?

并不是说我错过了什么。我从来没有觉得需要创建另一个UIWindow实例,但也许它可以做一些我没有意识到的惊人的事情!:-)

我希望它可以帮助我解决这个问题:我需要在当前显示的内容上添加一个“封面视图”。如果已经有一个或多个模态控制器,它也应该可以工作。如果我在根控制器的视图中添加一个UIView,模态控制器位于顶部,popover控制器也是如此。如果我以模态方式呈现封面视图,并且已经有了模态控制器,则只覆盖了部分屏幕。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-23 03:49:06

UIWindow可以浮动在其他UI元素之上,如系统键盘。

最后一段:创建一个与主窗口具有相同框架的UIWindow。将其windowLevel属性设置为UIWindowLevelStatusBar。将其hidden属性设置为NO

票数 27
EN

Stack Overflow用户

发布于 2011-11-23 17:20:38

从Rob的回答开始,我稍微玩玩了一下,并想写下一些笔记,以供其他试图获取此主题信息的人参考:

  • 添加另一个UIWindow根本不是问题。只需创建一个和makeKeyAndVisible即可。完成。
  • 通过使另一个窗口可见来移除它,然后释放你不再需要的窗口。
  • 是“键”的窗口接收所有键盘input.
  • UIWindow覆盖一切,甚至模态,弹出,等等。Brilliant!
  • UIWindow总是隐式的肖像。它不会旋转。您必须添加一个控制器作为新窗口的根控制器,并让它处理旋转。(就像主窗口一样)
  • 窗口的级别决定了它的显示高度。将其设置为UIWindowLevelStatusBar,以使其覆盖所有内容。将其hidden属性设置为NO。
  • 第二个UIWindow可用于在屏幕上显示浮动在所有内容之上的视图。无需创建一个虚拟控制器就可以将其嵌入到UIPopoverController.
  • It中,这在iPhone上特别有用,因为它没有弹出式控制器,但你可能想要模仿一些类似的东西。
  • 当然,它解决了我的问题:如果应用程序放弃激活,在当前显示的内容上添加一个覆盖窗口,以防止iOS截取应用程序当前内容的屏幕截图。
票数 110
EN

Stack Overflow用户

发布于 2019-01-08 10:27:06

这里是苹果的文档,以更好地理解UIWindow:https://developer.apple.com/library/archive/documentation/WindowsViews/Conceptual/WindowAndScreenGuide/WindowScreenRolesinApp/WindowScreenRolesinApp.html

使用多个UIWindow实例的一个很好的具体原因是当您需要对应用程序屏幕进行视频录制时。您可能不想包含某些元素(录制按钮、录制状态等)在最终录制的视频中,所以您可以将这些元素放在顶部的单独UIWindow中。

实际上,如果您使用的是ReplayKit,则必须为这些排除的UI元素使用单独的UIWindow。更多信息请点击此处:https://medium.com/ar-tips-and-tricks/how-to-record-a-screen-capture-with-replaykit-whilst-hiding-the-hud-element-bedcca8e31e

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8232398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档