倒计时

2015-12-22  本文已影响51人  武林盟主和穿山甲

__block int timeout=60;//60s倒计时

dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);

dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);

dispatch_source_set_event_handler(timer, ^{

if (timeout<=0) {

dispatch_source_cancel(timer);

dispatch_async(dispatch_get_main_queue(), ^{

[_getTestBtn setTitle:@"获取手机验证码" forState:UIControlStateNormal];

_getTestBtn.userInteractionEnabled=YES;

});

}

else

{

int seconds=timeout%60;

NSString *timeStr=[NSString stringWithFormat:@"%.2d",seconds];

dispatch_async(dispatch_get_main_queue(), ^{

[_getTestBtn setTitle:[NSString stringWithFormat:@"%@秒后重新发送",timeStr] forState:UIControlStateNormal];

_getTestBtn.userInteractionEnabled=NO;

});

timeout--;

}

});

dispatch_resume(timer);

上一篇 下一篇

猜你喜欢

热点阅读