app 进入后台后,实现手机短信验证码时间不间断倒计时
//当app进入手机后台和手机前台时获取时间 - void)applicationDidEnterBackground:UIApplication *)application { NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0]; NSTimeInterval a=[dat timeIntervalSince1970] * 1000; NSString *timeString = [NSString stringWithFormat:@"%.0f", a]; NSDictionary *dic = @{@"time":timeString}; [[NSNotificationCenter defaultCenter]postNotificationName:@"background" object:nil userInfo:dic]; } - void)applicationWillEnterForeground:UIApplication *)application { NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0]; NSTimeInterval a=[dat timeIntervalSince1970] * 1000; NSString *timeString = [NSString stringWithFormat:@"%.0f", a]; NSDictionary *dic = @{@"time":timeString}; [[NSNotificationCenter defaultCenter]postNotificationName:@"foreground" object:nil userInfo:dic]; }
//登录界面实现通知调用 @property nonatomic) NSInteger secondCountDown; @property nonatomic) NSInteger integer1; @property nonatomic) NSInteger integer2; -void)viewWillAppear:BOOL)animated { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selectorappGoForeground:) name:@"foreground" object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selectorappGoBackground:) name:@"background" object:nil]; self.navigationController.navigationBarHidden = YES; } - void)appGoBackground:NSNotification *)notification { _integer1 = [notification.userInfo[@"time"] integerValue]; } - void)appGoForeground:NSNotification *)notification { NSInteger integer = [notification.userInfo[@"time"] integerValue]; _integer2 = integer - _integer1)/1000; _secondCountDown = _secondCountDown - _integer2; }