おそらく例で説明するのが最も簡単です:
Facebook 3.0アプリでは、友達をクリックすると、UITabViewControllerのように機能するUISegmentedControlに「Wall | Info|Photos」と表示されます。次に、たとえば写真をクリックすると、サブビューがUINavigationControllerスタックにプッシュされ、UISegmentedControl(および親ビュー)が左にスライドします。これを容易にするために、アプリのデザインをどのように構成しますか?
つまり、次のようになります。
- UIViewController(3つのアイテム(3つのビューを表す)を含むUISegmentedControlを使用)
- ---UINavigationController
- ------- UIViewController(つまりWall)
- ---------- UIViewController(つまり、投稿へのコメント、スタックにプッシュされます)
- ---UINavigationController
- ------- UIViewController(つまり情報)
- 等...
問題は、上記のように設計した場合、ユーザーが投稿へのコメントをクリックした場合(コメントビューをナビゲーションコントローラーのスタックにプッシュした場合)、UISegmentedControlをウォールビューと一緒にスライドさせるにはどうすればよいですか?これは最適ではないようです。
または、UISegmentedControlを各UINavigationControllers内にサブビューとして配置することもできますが、ユーザーが状態を維持しながら「タブ」を切り替えるときに、UISegmentedControlをUINavigationControllers間でどのように移動するかわかりません...
ビューのレイアウトを設計する簡単な方法はありますか?