gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 16:53:43 25 4
gpt4 key购买 nike

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

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

  • 我可以通过第二个 UIWindow 实现什么不能以其他方式完成吗?
  • 使用多个 UIWindow 时会出现什么问题实例?
  • 我看到人们使用第二个 UIWindow在 iPhone 上显示类似弹出窗口的 View 。这是一个好方法吗?为什么?为什么不?
  • 是否还有其他示例表明拥有另一个 UIWindow 是完全合理的? ?

  • 这并不是说我错过了什么。我从未觉得需要创建另一个 UIWindow例如,但也许它可以做一些我不知道的惊人的事情! :-)

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

    最佳答案

    从 Rob 的回答开始,我玩了一下,想为其他试图获取有关该主题的信息的人写下一些笔记:

  • 再添加一个 UIWindow 完全没有问题.只需创建一个和 makeKeyAndVisible .完毕。
  • 通过使另一个窗口可见来将其删除,然后释放您不再需要的窗口。
  • 作为“键”的窗口接收所有键盘输入。
  • UIWindow涵盖了所有内容,甚至是模态、弹出框等。太棒了!
  • UIWindow总是含蓄的肖像。它不旋转。您必须添加一个 Controller 作为新窗口的根 Controller 并让它处理旋转。 (就像主窗口一样)
  • 窗口的级别决定了它显示的“高度”。设置为 UIWindowLevelStatusBar让它涵盖一切。设置它的hidden属性为 NO。
  • 第二个UIWindow可用于在屏幕上显示浮在一切之上的 View 。无需创建虚拟 Controller 即可将其嵌入 UIPopoverController .
  • 它在没有弹出 Controller 但您可能想要模仿类似的东西的 iPhone 上特别有用。
  • 是的,它当然解决了我的问题:如果应用退出激活,在当前显示的内容上添加一个覆盖窗口,以防止 iOS 截取应用的当前内容。
  • 关于objective-c - 向 iOS 应用程序添加另一个 UIWindow 的优点、问题、示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13639834/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com