2011-07-06 6 views
1

私が勉強しようとしているのは、ウィンドウとビューコントローラの違いは何ですか?私はアプリケーションごとに1つのウィンドウしか持てないことを知っています。しかし、複数のViewControllerを持つことができます。私は、ウィンドウベースのアプリケーションテンプレートに基づいているプロジェクトを作成するとき、私はウィンドウを取得します。自分のビューコントローラを作成することもできますが、ウィンドウベースのアプリケーションで直接ウィンドウにオブジェクトを配置することもできます(私が間違っていると正しいと思います)。しかし、ビューベースのアプリケーションでは、私はもちろん私が物事を追加することができるという見解を得る。何か意味があれば誰でも私のためにこれを明確にすることができますか?ウィンドウとViewControllerの違い

答えて

1

UIWindowのインスタンスは、ビュー階層の一部としてすべてUIViewControllersUIViewsというホスト名でホストされています。そのため、UIApplicationには[UIApplication sharedApplication].keyWindowというコールがあり、「ルート」ビューにアクセスします。

したがって、たとえば次のようなスタック持つことができます。

[UIApplication sharedApplication].keyWindowからUIWindowとに大きな説明を提供UIViewControllerに開発者用ドキュメントを読み、詳細について> MyOtherViewController

- > MyViewを違い。

0

これは2つの全く異なるものです。ウィンドウは、主にスーパービューを持たないという点で特別なビューです。それは他のすべてのビューを保持するコンテナです。ビュー包含ツリーのルートに位置するため、ウィンドウは適切なビューにイベントをディスパッチし、必要に応じて再描画するプロセスに役立ちます。それ以外に、ウィンドウにはそれに含まれるビューについての心配はあまりありません。

ビューコントローラはビ​​ューではありません。これは、ビューとそのすべてのサブビューを管理するコントローラです。ビューコントローラは通常、コントロールからのユーザ入力に応答し、ビューに必要なデータを取り込み、サブビューの可視性を管理します。ビューコントローラが管理するビューは、そのビューコントローラがアクティブなときにウィンドウにインストールされますが、ウィンドウ自体への直接の参照を保持しません。

関連する問題