iPhone视图切换

时间:2010-10-13 23:02:32

标签: iphone view switching

我认为这是一个简单的问题。 我的应用程序中有三个视图,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

3 个答案:

答案 0 :(得分:2)

不要将-presentModalViewController:视为从一个视图控制器转到另一个视图控制器的方式;把它想象成一种以模态方式呈现视图控制器的方式。如果您想实施导航,则应该查看UINavigationController

答案 1 :(得分:1)

根据您的描述,听起来您错误地使用模态视图。它们不是在视图之间转换的一种方式,它们是一种简短地显示一些将在不久后被删除的对话框的方式(如选择日期或其他内容)。你确定你的观点实际上是模态观点,而不是完全不同吗?

答案 2 :(得分:1)

您可以考虑使用导航控制器在视图之间切换。使用pushViewController方法添加视图。然后,您可以在UIViewController类中使用(NSArray *)popToRootViewControllerAnimated:(BOOL)动画方法。还有popToViewController:animated:这将允许你弹出一个特定的viewController。

如果您使用模态视图,则可以在view2实现的view3中实现协议。当您准备从view3弹出到view1时,您可以调用[self dismissModalViewControllerAnimated:YES];然后使用你的协议通知view2它也应该忽略它的模态视图。

希望这有帮助。