1

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

我发现如果我[self dismissModalViewControllerAnimated:YES]从 View3 使用,我只能回到 View2,而我需要一直回到 View1。

任何帮助/方向将不胜感激。

非常感谢,-SD

4

3 回答 3

2

不要将调用-presentModalViewController:视为从一个视图控制器到另一个视图控制器的一种方式;将其视为一种以模态方式呈现视图控制器的方式。如果你想实现导航,你应该看看UINavigationController.

于 2010-10-13T23:15:20.297 回答
1

根据您的描述,听起来您使用的模态视图不正确。它们不是在视图之间转换的一种方式,它们是一种简要显示一些对话框的方式,该对话框将在不久之后被关闭(例如选择日期或其他内容)。您确定您的两个视图实际上都是模态视图,而不是完全不同的吗?

于 2010-10-13T23:12:37.010 回答
1

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

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

希望这可以帮助。

于 2010-10-13T23:16:24.677 回答