2013-01-16 5 views
18

私が取り組んでいるiPadアプリは、ストーリーボードとセグを利用しています。ユーザーがマスタービュー内の別のセルをクリックすると、別のビューコントローラーを表示しようとしています。別のチュートリアルにあっ採取した手順を参照した後 - Storyboardセグスタイル「置換」の後にナビゲーションバーボタンの項目が表示されない

  • Master View Controllerは、テーブルビューの静的細胞を作成し、3つの異なる行(すなわちセル1、セル2、セル3)を添加
  • 私は Navigation Controller上でCtrlキーを押しながらクリックしなかった、 Master Viewに(> Navigation Controller Editor - - > Embed In)セル1から
  • 追加されましたView Controller、それを選択し、それにNavigation Controllerを取り付けました。
  • のtableViewでSegue Style "置き換え" とDestination "詳細スプリット"
  • を選んだ:didSelectRowAtIndexPathを、[自己performSegueWithIdentifierを: "NewViewController" 送信者:@自己]追加の移行を行うこと。

私が見る結果は、詳細ビューが置き換えられることです。

ただし、ナビゲーションバーには、バーボタン項目Masterはありません。

私はMasterボタンをクリックすることができません。このボタンは、別のビューにナビゲートすることができる場所のセルを含むテーブルを表示します。

私はすでに多くのブログを読んでおり、同様の問題のセグを置き換えることについて話しています。しかし、誰もがストーリーボードやセグを使用している間、この特定の問題に直面していないようです。

セグを使用して私の理解から、私が欲しいものを達成するのに役立つはずです。このアプローチを試した人から、正しい方向のポインタが役立ちます。

+0

* [あなたが試してみました何] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)?* – Jules

+0

@Julesこれは私の最初の質問でした。私は将来私が願っている質問がより明確になります:) – Vinny

+1

以下のリンクは問題点がうまく説明されており、ストーリーボードを使用している間にナビゲーションバーの項目が欠落していた理由を完全に理解することができました。oneMhz Vinny

答えて

1

Segue StyleReplaceからPushに変更してみてください。あなたの問題を解決するはずです。

あなたはUINavigationControllerUIViewControllerを押すと、それがスタックに追加され、あなたが戻ってナビゲートすることができるようになります:

あなたのナビゲーションコントローラのスタックを「詳細」をタップする前に:

Master 

詳細をタップしてもう少しナビゲートした後のナビゲーションコントローラ:

Master -> Detail (Navigation button is displayed) -> Some other details (Navigation button is displayed) -> And maybe some more (Navigation button is displayed) 

Replaceのように新しいセグを呼び出すと、MasterDetailに置き換えられます。マスターが交換され、スタックにもうないので、戻ることができなくなります。あなたがやったように置き換える用いて詳細をタップした後

Master 

あなたのナビゲーションコントローラ:

"詳細" をタップする前に、あなたのナビゲーションコントローラのスタックは

Detail (no navigation button because master was replaced and we don't have nothing more on the stack) 
関連する問題