Ios 如何返回视图控制器?
如果我在应用程序中使用5个视图控制器,如果我使用的是第5个视图控制器,如果我想通过按钮操作返回第2个视图控制器,我应该编写什么代码?您唯一能做的就是Ios 如何返回视图控制器?,ios,uinavigationcontroller,Ios,Uinavigationcontroller,如果我在应用程序中使用5个视图控制器,如果我使用的是第5个视图控制器,如果我想通过按钮操作返回第2个视图控制器,我应该编写什么代码?您唯一能做的就是popToViewController 因此,有几个步骤: 获取要返回的UIViewController 通过执行类似于self.navigationController.viewControllers的操作,从导航控制器中取出所有视图控制器 运行for each循环,并在for each中添加if条件,以匹配从步骤1开始要创建的视图控制器 使用导航
popToViewController
因此,有几个步骤:
self.navigationController.viewControllers
的操作,从导航控制器中取出所有视图控制器popToViewController
方法李>
大致如下:
for (UIViewController *vc in self.navigationController.viewControllers) {
if ([vc isKindOfClass:[ViewController2 class]]) {
[self.navigationController popToViewController:vc animated:NO];
}
}
您看过
UINavigationController
的文档了吗?popToViewController
的第一个参数应该是变量vc
。不需要循环或if
。只需执行[self.navigationController popToViewController:self.navigationController.ViewController[1]动画:是]代码>。viewControllers
数组将按照视图控制器的堆叠顺序排列。@rmaddy更正了答案,感谢您指出。是的,我建议他使用for循环,因为他可能知道去哪个控制器类,但不知道索引。