我认为这是一个简单的问题。 我的应用程序中有三个视图,View1,View2,View3。 我知道如何从View1转到View2,从View2转到View3,但是如何从View3回到View1?
我在View1ViewController.m中使用以下方法从View1转到View2:
[self presentModalViewController:view2ViewController animated:YES]
从View2到View3同样如此。
我在View1 XIB文件中包含View2视图控制器,并在View2 XIB文件中包含View3视图控制器。
我发现如果我使用View3中的[self dismissModalViewControllerAnimated:YES]
,我只能回到View2,而我需要一直回到View1。
非常感谢任何帮助/方向。
非常感谢, -sd
答案 0 :(得分:2)
不要将-presentModalViewController:
视为从一个视图控制器转到另一个视图控制器的方式;把它想象成一种以模态方式呈现视图控制器的方式。如果您想实施导航,则应该查看UINavigationController
。
答案 1 :(得分:1)
根据您的描述,听起来您错误地使用模态视图。它们不是在视图之间转换的一种方式,它们是一种简短地显示一些将在不久后被删除的对话框的方式(如选择日期或其他内容)。你确定你的观点实际上是模态观点,而不是完全不同吗?
答案 2 :(得分:1)
您可以考虑使用导航控制器在视图之间切换。使用pushViewController方法添加视图。然后,您可以在UIViewController类中使用(NSArray *)popToRootViewControllerAnimated:(BOOL)动画方法。还有popToViewController:animated:这将允许你弹出一个特定的viewController。
如果您使用模态视图,则可以在view2实现的view3中实现协议。当您准备从view3弹出到view1时,您可以调用[self dismissModalViewControllerAnimated:YES];然后使用你的协议通知view2它也应该忽略它的模态视图。
希望这有帮助。