2010-09-04 42 views
4

是否有任何确定是否正从后台应用程序加载视图的方法?从后台打开应用程序时调用了什么UIViewController方法?

在3.X我会依靠viewDidLoad做一些initalization等,但是这不是4.X的情况,因为你不能依靠viewDidLoad方法来调用。

我想避免在appdelegate中添加额外的标志来检测这个,我宁愿在UIViewController中使用可靠的方法来做到这一点,但似乎无法在UIViewController的生命周期中找到任何可以帮助我的东西在这里。

任何想法?你如何处理这种情况?

回答

-3
- (void)viewWillAppear:(BOOL)animated 

- (void)viewDidLoad 

应用程序委托方法

- (void)applicationWillEnterForeground:(UIApplication *)applicationUIApplicationDelegate

将被称为应用程序中输入的前景后,虽然可以为UIApplicationWillEnterForegroundNotification添加一个观察者在你的任何观点。

+0

是的,我确实知道viewWillAppear会按名称的名称被调用,我不能将此行为的基础放在此方法上,因为当从堆栈弹出视图以显示我们正在说话的视图时,它也会被框架调用关于。对不起,如果这不是从我原来的帖子清楚。 – Kaspa 2010-09-05 22:23:23

+36

@Kaspa - 实际上,viewWillAppear不会在从后台返回时调用(http://stackoverflow.com/questions/5277940/why-does-viewwillappear-not-get-called-when-an-app-comes-back-从背景中) – 2011-10-18 01:38:33

+0

viewWillAppear不会被调用。 – quantumpotato 2013-10-15 20:27:17