从ios中的任何视图返回到特定视图

时间:2013-07-17 07:16:01

标签: ios

我是这个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中。

但我需要回到第四个指数,有什么办法吗?

2 个答案:

答案 0 :(得分:1)

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

                break;
            }
        }

答案 1 :(得分: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];