2011-02-05 18 views
0

これは簡単なアプリケーションだと確信していますが、最良の方法が何であるかはわかりません(これはすべて新しいものです)。私はUITableViewController(すべてUITabViewControllerで実行中)を持つナビゲーションコントローラを持っています。UITableViewと詳細ビューでナビゲート

ユーザが行をタップすると、アプリケーションは詳細ビューに移動します。今度は、左右のスワイプジェスチャーをリンクして前後のレコードに移動しようとしています。しかし、詳細ビュー内からこれを行う正しい方法は何ですか、私のTableViewControllerにリンクを戻すのが最も簡単なのは何ですか?

関連する質問は、ナビゲーションコントローラの「戻る」ボタンと同じアクションに「プルダウン」する方法です。

私は上記が意味をなさないことを願っています。百万円を事前におねがいします!


私は好きなように働いていますが、非常に不器用です。 DetailViewを呼び出すとき、私はパラメータとして 'self'と現在の 'selectedRow'へのポインタを渡します。次に、スワイプが作成されると、tabelViewController(ポインタが提供されている)上の関数 'moveToNextRecord'を呼び出し、selectedRowをパラメータとして持ちます。 tableViewControllerでselectRowAtIndexPathとdidSelectRowAtIndexPathを呼び出します。

これはうまくいくようですが、問題は次のレコードが前のレコードの後に​​挿入されていることです。これは、バックボタンが前のレコードに戻ってきて、テーブルビューに戻ってこないことを意味します。だから私は、私はそれらを積み重ねたくないが基本的に戻って、次の行を選択して、1つのdetailViewから次にアニメーションを直接表示しながら、ViewControllerに伝えるべきだと思います。それは意味がありますか?

([self.navigationController popViewControllerAnimated:YES]。最初の小説は、それが適切な流れをしないように動作するようには思えないよう)

答えて

0

私はPageControlソリューションに移行しています。ユーザーがスワイプすると同時に実際にページが移動するため、ユーザーエクスペリエンスが大幅に向上しています。上記の提案では、私は右のスワイプを行うときに左から右への遷移を許可するために、 '戻る'ボタンをオーバーライドし、手動でViewControllerスタックを設定する必要があります(スワイプが完了したときにのみ発生します)

0

詳細ビューから、あなたがジェスチャーを認識したら、その後、呼び出し:

[self.navigationController popViewControllerAnimated:YES];

これが後にナビゲートします。

+0

ありがとう! tableViewを介してナビゲートする上の任意の考えですか?私はそれをまったく動作させることはできません。 –

+0

正確にはどういう意味ですか?あなたがしたいことを詳しく説明してください。 – viggio24

+0

私はそれを感謝します。それ以来私はいくつかの進歩を遂げましたので、上記のコードを編集して表示します。 –

関連する問題