获取手机验证码倒计时
直接调用
-(void)openCountdown{
__blockNSIntegertime =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(time <=0)
{//倒计时结束,关闭
dispatch_source_cancel(_timer);
dispatch_async(dispatch_get_main_queue(), ^{
//设置按钮的样式
[self.messageButtonsetTitle:@"获取手机验证码"forState:UIControlStateNormal];
[self.messageButtonsetTitleColor:[UIColorwhiteColor]forState:UIControlStateNormal];
self.messageButton.userInteractionEnabled=YES;
});
}
else
{
intseconds = time %60;
dispatch_async(dispatch_get_main_queue(), ^{
//设置按钮显示读秒效果
[self.messageButtonsetTitle:[NSStringstringWithFormat:@"重新发送(%.2d)", seconds]forState:UIControlStateNormal];
[self.messageButtonsetTitleColor:[UIColorwhiteColor]forState:UIControlStateNormal];
self.messageButton.userInteractionEnabled=NO;
});
time--;
}
});
dispatch_resume(_timer);
}