如何从子视图调用viewWillAppear
问题描述:
我有一个基于导航的应用程序,在该应用程序中打开用户登录的子视图。一旦用户登录我躲在认为,使用如何从子视图调用viewWillAppear
[self.view removeFromSuperview];
不过我想也刷新RootViewController的数据子视图中。根据我的理解,我需要在RootViewController的viewWillAppear中进行刷新。我如何从子视图中调用它?
我的猜测是,它是这样的
[rootViewController viewWillAppear];
但显然RootViewController的是不是在子视图可用。
答
viewWillAppear
是一种由控制器生命周期调用的方法。你不应该明确地调用它,你应该在你的类中重写它以执行关于你的外观的特定操作。
你应该做什么,现在我在这里猜测你的应用程序是基于你问什么的,是使用模态演示文件载入你的登录信息,而不是仅仅为它打开一个子视图。
你可以做它用这样的你控制器
LoginController *ctrl = [[LoginController alloc] init];
[self presentModalViewController:ctrl animated: YES];
[ctrl release];
约做的是,你解雇你登录控制器和rootViewController
再次显示后,它会导致你的好东西控制器viewWillAppear
方法被再次调用(这次你可以根据需要刷新你的视图),你的应用程序将更像Apple's View Controller Programming Guide for iOS
中描述的良好操作,谢谢你的完美工作 – Tija 2011-05-13 02:11:07