1

有人可以向我确认任何时候任何 iPhone 应用程序中都只能有一个 UIWindow 实例吗?

更新:我在此链接 中找到了以下信息。据此,可以有许多窗口。

此外,UIApplication 对象维护了应用程序中当前打开的所有窗口(UIWindow 对象)的列表,因此它可以通过这些获取应用程序的任何 UIView 对象。

4

3 回答 3

5

我过去曾成功使用过多个 UIWindows。这有很多原因。例如,无论您将其设置为 nil 多少次,都无法释放 UIWindow 的 rootViewController。但是收集窗户就可以了。使用多个窗口可以实现一些视觉效果和干净的代码分离。我很惊喜有多少人不愿意尝试。苹果只说“不应该”。如果他们不想让我们使用它,我们也无法甚至知道。

于 2011-08-04T19:16:35.950 回答
0

是的,对于 iOS 应用程序,通常只有一个 UIWindow ..

http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40009503

于 2010-09-23T06:24:13.160 回答
0

有三种类型的窗口,恕我直言,使用它们都是有意义的。

  1. 普通窗口 - 您在每个应用程序中使用的 keyWindow

  2. 状态栏窗口 - 用于自定义,例如“当用户点击状态栏时会发生什么”(默认是将滚动视图滚动到页面顶部,但您可以添加其他行为 - 例如,如果您的应用不使用滚动视图,但它使提供“等效”功能的意义)

  3. 警报窗口 - 例如,如果您要制作自定义弹出窗口。许多开发人员制作自定义弹出窗口,但不将它们声明为警报窗口。有时这会导致图形故障,例如,如果发生异步事件,并出现在弹出窗口的顶部,或者动画在其顶部进行动画处理。

于 2011-01-16T21:08:10.697 回答