0

基本的に 1 つの長い注文ページであるユニバーサル iOS アプリを作成しています。ユーザーはショッピング カート画面から開始し、一連の 4 つの異なる画面 (異なる VC) を (UINavigationController を使用して) 直線的に進みます。彼らが最後の画面に到達したら、プレス送信し、アプリでユーザーをショッピングカート画面に戻してもらいたいと思います。ただし、ショッピングカート画面はルートView Controllerではないため、使用できません[self.navigationController popToRootViewControllerAnimated:YES];。どうすればこれを達成できますか? 人々は通常どのようにこれを達成しますか?

私が考えたいくつかのアイデアは次のとおりです。

1)ポップしたいVCであるグローバル変数を維持しますか? たとえば、ユーザーがショッピング カートのページに移動するたびに、ショッピング カートの VC をこのグローバル変数の値に設定します。

2) 最後のページに到達したら、ナビゲーション コントローラー スタック上の VC のスタックをループし、必要なタイプ (同じクラス) の 1 つを見つけたら、それにポップします。

これを行うより良い方法はありますか?私が見逃している魔法の API はありますか? このような状況で人々は何をしますか?

4

1 に答える 1

2

使用する:

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

つまり、ショッピングカートオブジェクトを見つけて、それをviewController引数として使用します。

于 2012-07-25T17:46:20.293 に答える