0

作業中のアプリで、メイン画面に2つのボタンがあります。GPSのビュー(マップ)に移動し、そこに到達すると(新しいVC)、その位置を設定するか、すでにタグ付けされているすべての場所のリスト(テーブルビュー、別のVC)を表示するオプションがあります。

リストVCで、テーブルセルをクリックすると、マップとともにVCが表示されます。問題は、これによりスタックに同じVCbakが追加されることです。ユーザーが[キャンセル]ボタンをクリックすると、1つの画面に戻り、キャンセルすると別の画面に戻ります。など...メインに戻るまで。

[self.navigationController popToRootViewControllerAnimated:YES]を実行できることはわかっています。ルートにポップバックしますが、それは必ずしも私が望むものではありません。

また、私は次のことができることを知っています:[[[self presentingViewController] presentingViewController] dismissModalViewControllerAnimated:YES];

私が言っているのは、GPSマップビューを「再利用」して、他のVCから呼び出すことができるようにすることだと思います。そのため、VCの呼び出しに「パスバック」することはしませんでした。それで、ボタンが押されて新しいVCを提示する場合、新しいVCが表示された後、前のVCを閉じることはできますか?このように、現在のVCを却下すると、必要な場所に戻ることができます。

私は理にかなっており、この質問が「実際の質問ではない」カテゴリに分類されないことを願っています。

どんな助けやより良い提案も大歓迎です。どうも

ジオ...

4

2 に答える 2

1

ナビゲーション コントローラーの VC スタックでいくつかのレベルに戻りたい場合は、おそらくそのpopToViewController:animated:メソッドを使用することをお勧めします。特定のビュー コントローラーがそのスタックにあるかどうかを確認するには、ナビゲーション コントローラーのviewControllersプロパティを調べます。ただし、この種のジャンプはかなり非標準の UI 動作であり (そのための API がありますが)、ユーザーを混乱させる可能性があるので注意してください。

rootViewControllerまた、ナビゲーション コントローラーを使用してモーダルに表示することだけが、複数のビュー コントローラーを管理する唯一の方法ではありませUIStoryboardSegueん。お気に入り。

于 2013-02-13T17:32:13.147 に答える
0

テーブル ビューにデリゲートを配置できます。そのため、セルが押されると、VC のデリゲート メソッドに情報が渡され、テーブル ビューが閉じられ、新しい情報が再読み込みされます。その VC に refresh メソッドを実装する必要があります。

于 2013-02-13T19:26:59.853 に答える