2012-02-03 8 views
6

iOS 5は、カスタムコンテナビューコントローラのコンセプトを導入し、addChildViewControllerのようなAPIを提供します。質問:ビューコントローラを子として追加しても、presentViewControllerを使用して表示することはできますか?後者は自動的にそれをpresentingViewControllerの子ビューコントローラにしますか?addChildViewControllerとpresentViewController

答えて

9

これは、どのように使用されるべきではありません。

親/子関係は、ビューコントローラが独自のビューコントローラによって管理されるサブビューを持つ場合(親ビューコントローラがタブを描画し、子ビューコントローラが各タブのコンテンツを描画するUITabBarControllerなど)の場合です。 。

presentViewControllerを使用してView Controllerを表示すると、一般的に画面全体が引き継がれるか、またはモーダルで表示され、表示されるView Controllerがもはや制御できなくなります。このシナリオでは、提示されたコントローラと協力する必要がないため、プレゼンタが親である理由はありません。提示されたコントローラが再び破棄されるまで、途切れることはありません。

なぜあなたはこれをしたかったですか?ビューコントローラが互いに参照を持ち、データを渡すことができるようにするには、これを行う他の方法(デリゲートパターン、NSNotifications、またはその2つをリンクするプロパティなど)があります。

+0

提示されたView Controllerへの参照がどこかにある必要があります。それはシステムによって保持されていますか? –

関連する問題