获取手机验证码倒计时

直接调用

-(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);

}

你可能感兴趣的:(获取手机验证码倒计时)