UIViewControllerのビュー内にネストされたView Controllerのビューを持つことは、iOSで通常悪いプログラミング方法ですか? たとえば、ユーザーのタッチに応答するある種のインタラクティブな要素が必要でしたが、画面の 25% しか占めていないとします。
次のように言って、このネストされたビューコントローラーを UIViewController に追加すると思います。
[self.view addSubview: nestedViewController.view];
UIViewControllerのビュー内にネストされたView Controllerのビューを持つことは、iOSで通常悪いプログラミング方法ですか? たとえば、ユーザーのタッチに応答するある種のインタラクティブな要素が必要でしたが、画面の 25% しか占めていないとします。
次のように言って、このネストされたビューコントローラーを UIViewController に追加すると思います。
[self.view addSubview: nestedViewController.view];
いいえ、これは一般的に優れた設計であり、View Controller を簡潔に保つのに役立ちます。ただし、View Controller コンテインメント パターンを使用する必要があります。次のドキュメントを参照してください。
これは、Interface Builder と Storyboards を使用してセットアップするのも非常に簡単です。オブジェクト ライブラリの Container View を見てください。
これは、ストーリーボードの不自然な例です。この例では、4 つのビュー コントローラーがあり、1 つは 3 つのコンテナーを保持し、1 つはコンテナーごとに 1 つです。すべてのコンテナーを持つ左端のコントローラーを提示すると、ストーリーボードは自動的に他の 3 つを初期化して埋め込みます。プロパティを介してこれらの子ビュー コントローラーにアクセスできます。または、目的のビュー コントローラーをオーバーライドしてキャプチャchildViewControllers
できるメソッドがあります。prepareForSegue:sender:
呼び出されようとしているセグエ。これは、必要に応じて子ビュー コントローラーにプロパティを渡すのにも適しています。