我有一个带倒计时的计时器。在最近的测试中,我注意到如果我点击Home键并返回到应用程序,计时器就会关闭(比正常情况下的秒数要少)。
我在测试中注意到,当重新打开应用程序时,ViewDid和ViewWill似乎不会触发。我知道:
- (void)applicationWillEnterForeground:(UIApplication *)application激发,但是如何使其特定于viewController中处于活动状态的某些部分呢?
发布于 2012-01-31 04:58:04
您可能需要applicationDidBecomeActive:和applicationWillResignActive:,它们被发送给您的应用程序代理。也有发布的通知(例如UIApplicationDidBecomeActiveNotification),您可以收听。
例如,当收到系统警报时,也会发布这些信息。如果你只想在后台工作时被告知,可以试试applicationDidEnterBackground:和applicationWillEnterForeground:
有关详细信息,请参阅Apple Docs on lifecycle。
发布于 2012-02-16 08:07:53
只是为了跟进,因为上面的问题已经回答了。
我和Eric遇到了完全相同的问题,然后我实现了Jesse关于在委托上使用applicationDidBecomeActive:的建议。我只是想确保所有不同的方法都是如何调用的,我发现了以下内容:
application:didFinishLaunchingWithOptions:是在开始时调用的,因为expected.viewDidLoad调用。viewWillAppear:。applicationDidBecomeActive:被触发(在这里,我调用我在主视图中实现的reactivateTimer方法。reactivateTimer方法是executed.viewDidAppear:的调用
https://stackoverflow.com/questions/9070618
复制相似问题