UIViewContoller と UIView をいつ使用するかに関して、いくつかの優れた回答があります。たとえば、こことここ.
一般的な要点は、データの全画面を制御するために UIVIewController を使用する必要があるということです。
回転を処理するように設計されています。回転が発生したことが通知されるのは最新の UIViewController だけなので、一度に 1 つの UIViewController だけを画面に表示する必要があります。
MVC パラダイムに忠実であり続けるには、ビジネス ロジックを UIViewController に配置し、表示ロジックと対話ロジックのみを UIView に配置する必要があります。おそらくビジネス ロジックは、画面全体に表示される内容に関連しています。
私の質問は、これを踏まえて、いくつかのトップレベル ビュー間で左右のページングを使用してアプリを構成するにはどうすればよいですか?
レシピのリストを保持するいくつかの UITableViews を持つインターフェイスを作成したいと考えています。ユーザーは左右にスワイプしてリスト間を移動します。一番下には何があっても固定されたままの共通メニューがあります。
私の最初の考えは、UIScrollView に 1 つの UIVIewController を使用し、そこからサブビューを追加することです。
ただし、各リストに独自の UIViewController を持たせて、独自のローテーションを処理し、独自の REST メソッドのようにビジネス ロジックを保持できるようにしたいと考えています。最上位の UIViewController で子サブビューの回転を処理するのは面倒に思えますし、ロジックを別の場所に配置するのは MVC に違反しているように思えます。
複数の UIViewControllers が UIScrollView 内に存在するようにアプリを構成する方法はありますか、それとも一連の最上位の UIViewControllers と UISwipeGestureRecognizer を使用して UIScrollView のページング効果をシミュレートするのが適切でしょうか?
ありがとう。