我有一个倒计时器。在最近的测试中,我注意到如果我点击主页按钮并返回应用程序,计时器将关闭(更少的秒数已经勾掉了)。
我在测试中注意到,重新打开应用程序时,ViewDid和ViewWill似乎不会触发。我知道:
- (void)applicationWillEnterForeground:(UIApplication *)application
触发,但如何使其特定于处于活动状态的viewController的某些部分?
答案 0 :(得分:3)
您可能希望applicationDidBecomeActive:
和applicationWillResignActive:
发送给您的应用代表。您还可以收听已发布的通知(例如UIApplicationDidBecomeActiveNotification
)。
例如,当系统提醒时,也会发布这些内容。如果您只想告诉您何时前往后台,请尝试applicationDidEnterBackground:
和applicationWillEnterForeground:
有关详细信息,请参阅Apple Docs on lifecycle。
答案 1 :(得分:0)
只是为了跟进,正如上面回答的那样。
我遇到了与Eric完全相同的问题,然后我实施了Jesse关于在委托上使用applicationDidBecomeActive:
的建议。我只是想确定如何调用所有不同的方法,我发现了这个:
application:didFinishLaunchingWithOptions:
在一开始就被调用。viewDidLoad
转弯。viewWillAppear:
。applicationDidBecomeActive:
被触发(这里我称之为我在主视图控制器中实现的reactivateTimer
方法。)reactivateTimer
方法。viewDidAppear: