2013-02-05 24 views
2

我想知道在所有iOS應用程序中,我們必須爲我們的UIWindow對象編寫makeKeyAndVisible。那麼有沒有一個例子,我們不希望我們的應用程序makeKeyAndVisible。其中makeKeyAndVisible不需要UIWindow的示例

如果我們總是需要它的任何應用程序,那麼爲什麼蘋果會自動爲我們寫它,就像他們爲@synthesize做爲iOS 6的一部分一樣?

+0

我開發故事板應用程序時不使用它。 –

回答

9

一個應用程序可以有多個窗口。對makeKeyAndVisible的呼叫用於指定哪一個是最新的。

儘管大多數應用程序只有一個窗口,但無法假定您的主窗口是關鍵窗口。因此您必須明確致電makeKeyAndVisible

9

蘋果故事板

故事板自動處理makeKeyAndVisible,iOS設備執行以下步驟:

  • 它實例化一個窗口,供您。
  • 它加載主要故事板並實例化其初始視圖控制器。
  • 它將新的視圖控制器分配給窗口的rootViewController屬性,然後使窗口在屏幕上可見。
+1

「所以你不必明確使用makeKeyAndVisible」 - 只有當你使用故事板時纔是如此。不是每個人都使用故事板甚至Interface Builder。 – rmaddy

+0

謝謝,刪除了 –

1

如果您使用storyboard啓動您的應用程序,則無需致電makeKeyAndVisible

您可以嘗試在Xcode 6中創建一個新項目。該項目未使用makeKeyAndVisible,如果您嘗試獲取keyWindow,將會得到nil。