我是这个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中。
但我需要回到第四个指数,有什么办法吗?
答案 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];