7

ナビゲーションコントローラーのボタンで2つ前のページに戻ることができるかどうか疑問に思っています。現在、このコードを使用してボタンをカスタム作成しました

self.navigationItem.leftBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:mainLib.navCountryTitle
                                 style:UIBarButtonItemStyleBordered
                                target:self
                                action:@selector(handleBack:)];

そして、「handleback」メソッドで、この行を呼び出しました

[self.navigationController popViewControllerAnimated:YES];

したがって、この場合は前の画面に移動します。ただし、前の画面の前の画面に移動したい。

その画面をすぐに呼び出すことができることはわかっていますが、すべての画面に前の画面に戻るはずの戻るボタンがあるため、そうしたくありません。

4

1 に答える 1

9

プッシュインデックスを使用して、特定のビューコントローラにポップできます。構文を知っている場合は、次のように行うことができます

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:indexOfViewController] animated:YES];

私はあなたの場合、それは第1のインデックスになると信じています。インデックスを変更して確認することもできますが。

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];

ここで、self.navigationController.viewControllersは、プッシュされたすべてのViewControllerの配列です。

それが役に立てば幸い。

于 2011-04-22T10:24:02.640 に答える