2

すべてのiOSアプリケーションで、UIWindowオブジェクト用にmakeKeyAndVisibleを作成する必要があるのではないかと思っていました。したがって、アプリケーションでmakeKeyAndVisibleを使用したくない例があります。

アプリケーションで常に必要な場合は、iOS 6の一部として@synthesizeで行ったように、なぜdintappleが自動的に書き込むのでしょうか。

4

3 に答える 3

11

Appleはストーリーボードを使用してmakeKeyAndVisibleを自動的に処理します

ストーリーボードを使用すると、iOSは次の手順を実行します。

  • それはあなたのためにウィンドウをインスタンス化します。
  • メインストーリーボードをロードし、最初のViewControllerをインスタンス化します。
  • 新しいViewControllerをウィンドウのrootViewControllerプロパティに割り当ててから、ウィンドウを画面に表示します。
于 2013-02-05T18:55:29.030 に答える
10

アプリは複数のウィンドウを持つことができます。toの呼び出しmakeKeyAndVisibleは、どちらが現在のものであるかを指定するために使用されます。

ほとんどのアプリにはウィンドウが1つしかないという事実にもかかわらず、プライマリウィンドウがキーウィンドウであると想定する方法はありません。したがって、明示的にを呼び出す必要がありますmakeKeyAndVisible

于 2013-02-05T18:53:50.203 に答える
2

ストーリーボードを使用してアプリを起動する場合は、 makeKeyAndVisibleを呼び出す必要はありません。

Xcode 6で新しいプロジェクトの作成を試みることができます。プロジェクトはmakeKeyAndVisibleを使用しておらず、keyWindowを取得しようとするとnilになります。

于 2014-11-13T01:39:54.313 に答える