0

iOS では、UIView (およびその他) を UINavigationController または UITabBarController にのみ埋め込むことができるのはなぜですか? この 2 つのクラスの特徴は何ですか?

編集: おっと、UIView の代わりに 'UIViewController' を要求したかったのです。

4

4 に答える 4

0

あなたが言及している埋め込みは、embed inと のみを許可するメニュー項目だUITabBarControllerと思いますUINavigationController。これは、XCode がUIViewControllerサブクラスを取得し、これら 2 つのコントローラーのいずれかに埋め込むことを意味します。それらは他のコントローラーのコントローラー (UIViewControllers のコレクション) であるため、特別です。Xcode は、View Controller を作成して、それを Navigation Controller または Tab Bar に追加する際の苦労を単純に軽減します。embedワンクリックでコードなしで、これらのいずれかで簡単に実行できます。XCode の過去のバージョンよりもはるかに簡単です。

于 2012-07-16T06:04:31.697 に答える
0

いいえ、そうではありません。UIView は UIViewController に組み込まれています。このクラスは、UIView のライフサイクルを提供します。ビューの初期化からビューの割り当て解除まで責任を負います。

UINavigationController と UITabBarController は、UIViewController から派生したものです。これらは、階層を構築し、階層を切り替えるための追加機能をそれぞれ提供します。

于 2012-07-16T05:18:43.450 に答える
0

UIView は、任意の ViewController またはそのサブクラスに埋め込むことができます。UINavigationController と UITabbarController は、UIViewController のサブクラスにすぎません。

于 2012-07-16T05:30:08.810 に答える
0

Interface Builder のように「埋め込み」について話している場合は、そうです。iOS 5 の時点で、Interface Builder はUINavigationControllerUITabbarController、およびの 3 つのビュー コントローラー コンテナーのユーザー インターフェイスのみを適切に設計しますUISplitViewController。これらは、すぐに使用できる 3 つのコンテナー コントローラーです。ただし、独自の View Controller コンテインメントを行うことはできます。ビュー コントローラーの封じ込めについては、WWDC 2011 のセッション 102 を参照してください。UIViewController クラス リファレンスのビュー コントローラ コンテインメントに関するセクションも参照してください。

于 2012-07-16T06:35:31.393 に答える