检测应用程序何时最小化(iOS)

时间:2016-03-01 07:17:31

标签: ios objective-c swift cocoa

我正在构建一款手机游戏,我的秒表有NSTimer。一切正常,除非我最小化应用程序(按主屏幕),或当它被电话呼叫中断时,NSTimer继续在后台运行,当应用程序未使用时。

我需要在应用程序最小化/中断时使此计时器无效,并在应用程序恢复时创建新计时器。应用程序最小化和恢复时会处理哪些方法?

1 个答案:

答案 0 :(得分:6)

您可以在UIApplication委托方法 applicationDidEnterBackground 中以这种方式使AppDelegate中的计时器无效,

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [timer invalidate];
    timer = nil;
}

在方法 applicationWillEnterForeground

中创建一个新计时器