ViewDidAppear主页按钮

时间:2012-01-30 20:52:57

标签: iphone uiview viewdidload viewwillappear viewdidappear

我有一个倒计时器。在最近的测试中,我注意到如果我点击主页按钮并返回应用程序,计时器将关闭(更少的秒数已经勾掉了)。

我在测试中注意到,重新打开应用程序时,ViewDid和ViewWill似乎不会触发。我知道:

- (void)applicationWillEnterForeground:(UIApplication *)application

触发,但如何使其特定于处于活动状态的viewController的某些部分?

2 个答案:

答案 0 :(得分:3)

您可能希望applicationDidBecomeActive:applicationWillResignActive:发送给您的应用代表。您还可以收听已发布的通知(例如UIApplicationDidBecomeActiveNotification)。

例如,当系统提醒时,也会发布这些内容。如果您只想告诉您何时前往后台,请尝试applicationDidEnterBackground:applicationWillEnterForeground:

有关详细信息,请参阅Apple Docs on lifecycle

答案 1 :(得分:0)

只是为了跟进,正如上面回答的那样。

我遇到了与Eric完全相同的问题,然后我实施了Jesse关于在委托上使用applicationDidBecomeActive:的建议。我只是想确定如何调用所有不同的方法,我发现了这个:

    正如预期的那样,
  1. application:didFinishLaunchingWithOptions:在一开始就被调用。
  2. 然后,是主视图控制器的viewDidLoad转弯。
  3. 然后调用viewWillAppear:
  4. 回到应用程序委托中,applicationDidBecomeActive:被触发(这里我称之为我在主视图控制器中实现的reactivateTimer方法。)
  5. 执行reactivateTimer方法。
  6. 最后一步是调用主视图控制器的viewDidAppear: