短信计时器

2016-09-24  本文已影响15人  WuNai

//验证码倒计时

-(void)startTime{

__blockinttimeout=59;//倒计时时间

dispatch_queue_tqueue =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_walltime(NULL,0),1.0*NSEC_PER_SEC,0);//每秒执行

dispatch_source_set_event_handler(_timer, ^{

if(timeout<=0){//倒计时结束,关闭

dispatch_source_cancel(_timer);

dispatch_async(dispatch_get_main_queue(), ^{

//设置界面的按钮显示根据自己需求设置

[_codeButton setTitle:@"获取验证码"forState:UIControlStateNormal];

_codeButton.userInteractionEnabled =YES;

});

}else{

//int minutes = timeout / 60;

intseconds = timeout %60;

NSString*strTime = [NSStringstringWithFormat:@"%.2d", seconds];

dispatch_async(dispatch_get_main_queue(), ^{

//设置界面的按钮显示根据自己需求设置

[UIViewbeginAnimations:nilcontext:nil];

[UIViewsetAnimationDuration:1];

[_codeButton setTitle:[NSString stringWithFormat:@"%@秒重发",strTime] forState:UIControlStateNormal];

[UIViewcommitAnimations];

_codeButton.userInteractionEnabled =NO;

});

timeout--;

}

});

dispatch_resume(_timer);

}
上一篇 下一篇

猜你喜欢

热点阅读