如何从子视图调用viewWillAppear

时间:2011-05-13 01:05:49

标签: iphone

我有一个基于导航的应用程序,我打开一个子视图供用户登录。一旦用户登录,我将使用

从子视图中隐藏视图
[self.view removeFromSuperview];

但是我想刷新RootViewController中的数据。根据我的理解,我需要在RootViewController的viewWillAppear中进行刷新。如何从子视图中调用它?

我的猜测就是这样的事情

[rootViewController viewWillAppear];

但很明显,子视图中没有rootViewController。

1 个答案:

答案 0 :(得分:0)

viewWillAppear是一个由控制器生命周期调用的方法。您不应该明确地将其称为此,您应该在类中覆盖它以执行有关您查看外观的特定操作。

你应该做什么,现在我在这里猜测你的应用是如何根据你的要求,是用你的模式演示来加载你的登录,而不仅仅是打开它的子​​视图。

您可以使用此类在您的控制器

中执行此操作
LoginController *ctrl = [[LoginController alloc] init];
[self presentModalViewController:ctrl animated: YES];
[ctrl release];

这样做的好处是,在您解雇登录控制器并再次显示rootViewController后,它将再次调用您的控制器viewWillAppear方法(这次您可以刷新您需要的视图),您的应用将更像Apple's View Controller Programming Guide for iOS

中描述的良好做法