0

この iOS アプリケーションは初めてです。私には9つのビューがあり、ユーザーはいくつかのビューをスキップできます。例えば。ユーザーは 3 番目のビューから 5 番目のビューにジャンプできます。前のビュー(スキップしたビューも含む)に戻りたい 詳しく説明します

3 番目のビューから 5 番目のビューにジャンプしました。5番目のビューから戻るボタンがあり、そのボタンをクリックすると4番目のビューに戻る必要があります。

現在私は使用しています

 HealtghCareResponsibilityViewController *objPri = [viewsArray objectAtIndex:4];



[objPri passArrayFromEndDisclosure:self.arrayToPass];


[self.navigationController popToViewController:objPri animated:YES];

しかし、4 番目のビューがスキップされたことはわかっているため、4 番目のインデックスは objectAtIndex にありません。

しかし、私は4番目のインデックスに戻る必要があります.何か方法はありますか?

4

2 に答える 2

1
for (UIViewController *controller in self.navigationController.viewControllers)
        {
            if ([controller isKindOfClass:[nameOfYourViewControllerYouWantToNavigate class]])
            {
                [self.navigationController popToViewController:controller animated:YES];

                break;
            }
        }
于 2013-07-17T07:24:03.580 に答える
0

できるよ:

if ([[self.navigationController.viewControllers containsObject:objPri]) {
    [self.navigationController popToViewController:objPri animated:YES];
} else {
    [self.navigationController pushViewController:objPri animated:YES];
}

したがって、以前に表示されていた場合は戻って、表示されていない場合は追加します。


代わりの:

ポップできるようにView Controllerを置き換えます。

NSArray *viewControllers = @[ objPri, self.navigationController.topVviewController ];
self.navigationController.viewControllers = viewControllers];
[self.navigationController popViewControllerAnimated:YES];
于 2013-07-17T07:21:35.667 に答える