0

次の方法で簡単に前のページに移動できることを知っていviewControllerます。

[self.navigationController popViewControllerAnimated:YES];

ただし、前のビューではなく、n-2 または n-3 ビューにポップすることは可能ですか?

4

1 に答える 1

1

はい。ただし、別の方法で行う必要があります。まず、ナビゲーション コントローラーからビュー コントローラーの現在のスタックを取得します。

NSMutableArray *viewControllers = [self.navigationController.viewControllers mutableCopy];

配列を変更可能にしたことがわかるコードでは、配列を操作できるようになりました。

NSRange range = NSMakeRange(2, 2);
[viewControllers removeObjectsInRange:range];

ここでは、位置 2 から 2 つのビュー コントローラーを削除します。もちろん、アレイからコントローラーを削除/追加する方法は他にもたくさんあります。

次に、新しい配列を navigationController に割り当てます。

[self.navigationController setViewControllers:viewControllers animated:YES];
于 2013-10-16T09:17:34.100 に答える