从堆栈加载UIViewController

时间:2012-01-26 14:52:40

标签: iphone ios uiviewcontroller presentmodalviewcontroller

我是iPhone应用开发的新手。我对视图和视图控制器的概念非常困惑。

我的问题如下:

我有UIViewController。出于示例的目的,我们将其称为 A

从此我使用presentModalViewController加载另一个视图控制器 B

presentModalViewcontroller我推送另一个视图控制器 C 。从这个视图控制器我想加载第一个提到的视图控制器 A 。我读到这些视图是以堆栈形式排列的。但是我不确定如何做到这一点。

在这种情况下,如何加载相同的视图控制器 A

3 个答案:

答案 0 :(得分:1)

使用-[UIViewController presentingViewController]上的C方法:

UIViewController *A = C.presentingViewController;

这将返回发送presentModalViewController:animated:的视图控制器。如果您想向A提供信息,我会选择代表团,但上述工作也适用。


如果你的问题是如何回到A(即关闭模态视图控制器),请使用:

UIViewController *A = C.presentingViewController;
[A dismissModalViewControllerAnimated:YES];

答案 1 :(得分:0)

我要说你需要弹出视图控制器C和B才能返回A. 如果你在B和C之上呈现A,那么他们可以在顶部再次启动B,在你知道它之前你有一大堆重复的视图。

答案 2 :(得分:0)

您需要使用UINavigationController推送UIViewControllers