93

UIViewControllerのビュー内にネストされたView Controllerのビューを持つことは、iOSで通常悪いプログラミング方法ですか? たとえば、ユーザーのタッチに応答するある種のインタラクティブな要素が必要でしたが、画面の 25% しか占めていないとします。

次のように言って、このネストされたビューコントローラーを UIViewController に追加すると思います。

[self.view addSubview: nestedViewController.view];
4

3 に答える 3

150

いいえ、これは一般的に優れた設計であり、View Controller を簡潔に保つのに役立ちます。ただし、View Controller コンテインメント パターンを使用する必要があります。次のドキュメントを参照してください。

コンテナ ビュー コントローラの実装

これは、Interface Builder と Storyboards を使用してセットアップするのも非常に簡単です。オブジェクト ライブラリの Container View を見てください。

これは、ストーリーボードの不自然な例です。この例では、4 つのビュー コントローラーがあり、1 つは 3 つのコンテナーを保持し、1 つはコンテナーごとに 1 つです。すべてのコンテナーを持つ左端のコントローラーを提示すると、ストーリーボードは自動的に他の 3 つを初期化して埋め込みます。プロパティを介してこれらの子ビュー コントローラーにアクセスできます。または、目的のビュー コントローラーをオーバーライドしてキャプチャchildViewControllersできるメソッドがあります。prepareForSegue:sender:呼び出されようとしているセグエ。これは、必要に応じて子ビュー コントローラーにプロパティを渡すのにも適しています。

ここに画像の説明を入力

于 2013-07-06T03:35:47.583 に答える