私はUITabBarControllerとUINavigationControllerのパラダイムに精通しており、さまざまなタブに新しいView Controllerを提示したり、新しいViewControllerをプッシュ/ポップしたりします。私がよく知らないのは、Flipboardのようなアプリです。Flipboardは、3つのストーリーのプレビューを表示します。ストーリーの1つをタップすると、基本的に画面を占めるストーリーが遷移します。このようなことをするために、どのようなビュー階層を設定しているのでしょうか。私の最初の本能は、ビューを互いに重ね合わせて、1つを非表示にして表示することです。このアプローチについて私が気に入らないのは、特にIBで多くの要素が互いに重なり合っている場合は、雑然としているように見えることです。もっと良い方法はありますか?新しいviewControllerを作成して、次のようなことを行う方がよいでしょうか。
- (IBAction)showDetailView:(id)sender {
[self.view addSubview:detailController.view]; // have the detailController.view as an ivar so we can reference it later
}
- (IBAction)removeDetailView:(id)sender {
[detailControllerIvar.view removeFromSuperview];
}
これが基本的な質問である場合は申し訳ありません。ViewControllerを使用して、プッシュ/ポップ、タブプレス、モーダル表示などで独自のビューを表示するだけではない状況については、あまり詳しくありません。addSubviewは、あまりよく知らないので、しませんでした。これが良い習慣なのか悪い習慣なのかわからない。ありがとう!