我想知道在所有iOS应用程序中我们必须为UIWindow对象编写makeKeyAndVisible。那么有一个例子,我们不希望我们的应用程序makeKeyAndVisible。
如果我们总是要求它用于任何应用程序,那么为什么dint apple会自动为我们编写它,就像它们为iOS 6中的@synthesize所做的那样?
答案 0 :(得分:10)
应用可以有多个窗口。对makeKeyAndVisible
的调用用于指定哪一个是最新的。
尽管大多数应用只有一个窗口,但无法假设您的主窗口是关键窗口。因此,您必须明确调用makeKeyAndVisible
。
答案 1 :(得分:10)
Apple使用故事板自动处理makeKeyAndVisible
通过故事板,iOS执行以下步骤:
答案 2 :(得分:1)
如果您使用故事板启动应用程序,则无需调用 makeKeyAndVisible 。
您可以尝试在Xcode 6中创建一个新项目。该项目不使用 makeKeyAndVisible ,如果您尝试获取keyWindow,您将获得nil。