0

コントロールと画像がほとんどなく、画面の上部にあるView Controllerがあります。その下に、子ビュー コントローラーとそのビュー用のスペースがあります。

一度に 1 つの子ビュー コントローラーを表示しますが、それを行うにはどうすればよいですか? 子ビュー コントローラーの合計数は約 6 であり、それらは大きく異なるため、一部のコンテナー ビュー コントローラーを再利用しても実際には機能しません。

これらのコントローラーのいくつかのボタンを押すと、次のコントローラーに移動します。現在画面に表示されているコントローラーのビューを保持する contentView など、いくつかのプロパティを作成する必要がありますか? 自動レイアウトを使用しない場合、回転をどのように処理しますか?

編集:これはより理論的な質問です。メソッド addChildViewController を知っており、ビューとコントローラーを親に追加する方法を知っています。そのための良い方法を知りたいだけです。

4

1 に答える 1

2

異なる子View Controller間をどのように移行したいかによって多少異なりますが、あなたの質問にはすでに良いアプローチがリストされています。

子ごとに異なるView Controllerが必要になることは間違いありません。コンテナー ビューを最上位ビューに追加します。このビューでは、回転と自動サイズ変更が処理されます。このビューのコンテンツは、子ビュー コントローラー ビュー自体 (および のようなメソッドのいずれかを使用して遷移を制御しますtransitionFromView:toView:duration:options:completion:) である場合もあれば、コンテナー ビューが を保持しUINavigationController、子ビュー コントローラーをプッシュするだけである場合もあります。

コンテナー ビューが保持するものは何でも、子ビュー コントローラーのいずれかが別のビュー コントローラーをモーダルとして提示しようとする場合は注意が必要です。提示されたビュー コントローラは、階層の最上位にあるビュー コントローラによって提示される必要があります。そうしないと、提示されたビューが正しく相互作用しないか、実際には他の画面要素の前に提示されます。

于 2013-04-29T08:08:14.383 に答える