0

Objective C / iOS;

これに似たプロセスがあります (xcode ストーリーボードで設定)。

メニュー ビュー コントローラ->コードを入力->処理/検証->失敗したコードの提示ページ

(->) 矢印pushは、ストーリーボードのセグエ設定を示します

Enter in a code失敗した状態のとき、 View Controllerにポップしたい。

 UIViewController *vc = nil;

    NSUInteger index=0;
    for (UIViewController *viewController in self.navigationController.viewControllers) {
        if ([viewController isKindOfClass:[SomeViewController class]]) {
            vc = viewController;
            break;
        }
        index++;
    }

    if (vc) {
        dispatch_async(dispatch_get_main_queue(), ^(void) {
            [self.navigationController popToViewController:vc animated:YES];
        });
        return;
    }

これにより、目的の VC に戻ります。

Enter codeページで送信を押すと、1回だけであるはずのときに、さらに3回または4回の「プッシュ」を行うことを除いて。

セグエを巻き戻す必要がありますか? ナビゲーション ビュー コントローラー スタックを空にしてみました。また、最後のアクティブなビュー コントローラーを削除しようとしました。どちらも、空白または黒いウィンドウ ビュー フレームを返します。

ナビゲーション スタックでビュー コントローラーをポップすると、ビュー コントローラーのセグエに影響を与えて、push segueアクションを実行しようとするたびに複数のビュー コントローラーをスタックにプッシュしようとするのはなぜですか?

4

1 に答える 1

0

次の問題があったことがわかりました

ボタンを押すと、ストーリーボードでセグエ アクションが発生する ボタンのコードで同じセグエ アクションを実行したため、複数回押す

私は今この問題を解決しました

于 2014-12-01T21:04:50.860 に答える