0

私は 10 以上のビューを持つナビゲーション コントローラーを実装しました。ここでは、ビューを右にスワイプして次のビューに切り替えます。左にスワイプすると、前のページが表示されます。ここでは、前のページに移動するために poptoviewcontroller を使用しました。

各ページには、目的のビューに切り替えるためのメニューがあります。特定のビューにジャンプした後、左にスワイプすると、これではなく以前にアクセスしたビューが表示され、メニューに従って前のページに移動したいだけです...

ここで私は poptoviewcontroller のすべてのプロパティを使用しましたが、どんな提案も機能しません。

ありがとう

4

3 に答える 3

0

ついに私はこの問題を解決しました。ただし、実際にはsetViewControllerメソッドを使用していません。

ここで、ビュー自体をプッシュしながら、ビューをスタックに追加しました。つまり、たとえば、ビューAからDに移動したいということは、pushviewcontrollerアニメーションでbとcを追加したことを意味します。およびDとanimated:YES;

だからそれは私にとって完璧に機能しました....

于 2011-01-07T12:16:30.153 に答える
0

Navigation のビュー コントローラはスタック (机の上の紙のスタックのようなもの) と考える必要があります。

したがって、スタックに何かをプッシュすると、スタックから何かをポップすると、それは前のアイテムになります。

何をしているのかわかりませんが、UINavigationController の setViewController:Animated メソッドのドキュメントを参照してください。あなたの問題に役立つと思います。

于 2011-01-05T07:12:03.583 に答える
0

nvaigationcontroller スタックとは何かを説明しましょう。

スタック = {ルート、A、B、C、D}。

現在表示されているビューは D です。pushViewController(E) を作成すると、新しいビューがスタックに追加され、表示されるようになります: Stack = {root, A, B, C, D, E}. popViewController を作成すると、スタックの最後の要素が削除され、新しい最後の要素が表示されるように設定されます。この場合、次のようになります: Stack = {root, A, B, C, D} 再び、D が表示されます。ここで popToRootController(A) を選択すると、一番上の要素が A になるまでスタックからすべての要素が削除され、それが表示されるようになるため、この場合は Stack = {root, A} になります。

あなたの質問を正しく理解し、階層を正しく理解できるように説明したことを願っています。そうでない場合は、質問を再構成してください。

于 2011-01-05T07:16:05.903 に答える