UIWindow不需要makeKeyAndVisible的示例

时间:2013-02-05 18:50:20

标签: iphone ios uiwindow

我想知道在所有iOS应用程序中我们必须为UIWindow对象编写makeKeyAndVisible。那么有一个例子,我们不希望我们的应用程序makeKeyAndVisible。

如果我们总是要求它用于任何应用程序,那么为什么dint apple会自动为我们编写它,就像它们为iOS 6中的@synthesize所做的那样?

3 个答案:

答案 0 :(得分:10)

应用可以有多个窗口。对makeKeyAndVisible的调用用于指定哪一个是最新的。

尽管大多数应用只有一个窗口,但无法假设您的主窗口是关键窗口。因此,您必须明确调用makeKeyAndVisible

答案 1 :(得分:10)

Apple使用故事板自动处理makeKeyAndVisible

通过故事板,iOS执行以下步骤:

  • 它为您实例化一个窗口。
  • 它加载主故事板并实例化其初始视图控制器。
  • 它将新视图控制器分配给窗口的rootViewController属性,然后在屏幕上显示该窗口。

答案 2 :(得分:1)

如果您使用故事板启动应用程序,则无需调用 makeKeyAndVisible

您可以尝试在Xcode 6中创建一个新项目。该项目不使用 makeKeyAndVisible ,如果您尝试获取keyWindow,您将获得nil。