1

Xcode4.5を使用してアプリケーションを作成しました。また、このアプリケーションではUIStoryboardを使用します。

このアプリでは、1つのViewControllerから2番目のViewControllerにプッシュしてから、2番目のViewControllerから3番目のViewControllerにプッシュします。

ここで、3番目のViewControllerから最初のViewControllerに直接ポップ(戻る)する方法を説明します。

それは可能かどうか?可能であれば、どのように?

4

3 に答える 3

1

これは可能です、これを使用するだけです。

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

objectAtIndexの値は、ポップしたい任意のコントローラーの値で変更できます。

于 2012-12-06T09:46:34.283 に答える
0

この方法を使用する

popToRootViewControllerAnimated:

アップルドキュメント

ルートビューコントローラを除くスタック上のすべてのビューコントローラをポップし、表示を更新します。

  • (NSArray *)popToRootViewControllerAnimated:(BOOL)animated

アニメーション化されたパラメータ:遷移をアニメーション化するには、この値をYESに設定します。ビューが表示される前にナビゲーションコントローラを設定する場合は、NOを渡します。

戻り値:スタックからポップされるViewControllerの配列。

使用例

 [self.navigationController popToRootViewControllerAnimated:YES];
于 2012-12-06T10:03:11.403 に答える
0

以下のコードを使用して、popToViewControllerを使用し、ViewControllerがスタックにあるかどうかを確認できます。

for (UIViewController *aViewController in self.navigationController viewControllers)
{
    if ([aViewController isKindOfClass:[firstViewController class]])
                        {
                            firstViewController *FVC = (firstViewController*)aViewController;
                          [self.navigationController popToViewController:FVC animated:YES];
                        }
                    }

お役に立てれば。

于 2018-01-11T05:42:59.020 に答える