2012-04-30 8 views
4

アイテムをタップすると詳細ビューにナビゲートするテーブルビューがあります。 私がしようとしているのは、親ビューのビューに戻ることなく、詳細ビューから兄弟詳細ビュー(テーブル内の別のアイテム用)に移動することです。親テーブルビューの兄弟詳細ビュー間を移動

例えば、テーブルビュー画面は、これらのタイプに属している料理の数がある場合:

  • サンドイッチ
  • スープを
  • サラダ

私はハムのサンドイッチを選びます私はこの料理のディテールビューに行きます。ここでは、ハムサンドウィッチが好きな人は、チキンヌードルスープやシーザーサラダのようにも見えます。

私はハムのサンドイッチから、チキンヌードルスープまたはシーザーサラダディテールビューのいずれかに、テーブルビューに戻ってアニメーションしなくてもいいです。これどうやってするの?あなたは、次/前の詳細ビューに移動したい場合は

答えて

3

、あなたがそれを行うために必要なすべてがちょうど&プッシュFALSE


- (void)gotoAnotherDetailView 
{ 
    // Just remove the current 
    [self.navigationController popViewControllerAnimated:FALSE]; 

    // Create a new 
    DetailViewController* newcontroller = [DetailViewController alloc] initWithDishType:anotherDish]; 
    [self.navigationController pushViewController:newcontroller animated:FALSE]; 
} 
に設定アニメーションフラグが新しいコントローラをポップ(のは、詳細ビューを兄弟にそれらを呼びましょう)

この例では、DetailViewControllerはダミーコントローラにすぎず、コード内のコントローラをインスタンス化しますが、これを置き換える必要があります。

アップルはコントローラのプッシュ/ポップを制御するためにデリゲートパターンを使用することをお勧めします。これは、コントローラーがナビゲーションスタックからポップアウトしないで、親テーブルビューコントローラーにメッセージを送信し、そのコントローラーが新しい詳細ビューを(1回の呼び出しで)プッシュすることを意味します。

+0

ありがとうございました!私はそれを働かせた。 – Keruvinde

関連する問題