0

我是这个 Ios 应用程序的新手。我有 9 个视图,有时用户可以跳过一些视图。例如。用户可以跳到第 3 视图到第 5 视图。我想回到上一个视图(包括跳过的视图)我会详细解释

我已经跳到第三视图到第五视图。从第 5 个视图有一个后退按钮,当单击该按钮时,我需要跳回第 4 个视图。

目前我用过

 HealtghCareResponsibilityViewController *objPri = [viewsArray objectAtIndex:4];



[objPri passArrayFromEndDisclosure:self.arrayToPass];


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

但我知道第四个视图被跳过了,所以第四个索引不在 objectAtIndex 中。

但是我需要回到第四个索引,有什么办法吗?

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];
}

因此,如果以前显示过,请返回它,如果没有,则添加它。


备用:

替换视图控制器,以便您可以弹出:

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