获取手机验证码倒计时

直接调用

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

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录(GCD): 关键词 混淆点 场景应用 总结 1. 关键词 线程概念: 独立执行的代码段,一个线程同时间只能执...
    Ryan___阅读 1,299评论 0 3
  • 验证码倒计时按钮的应用是非常普遍的,本文介绍了IOS实现验证码倒计时功能,点击获取验证码,进入时间倒计时,感兴趣的...
    夭Y夭阅读 932评论 0 0
  • 1.短信倒计时的方法使用的是一个多线程的的倒计时的处理方法:(采用的是MOB的短信的哪个三方库的东西) __blo...
    峰子1994阅读 414评论 0 0
  • 1951年,联合国教科文组织给母语作了如此定义:一个人自幼习得的语言,通常是其思维与交流的自然工具。 按照这个定义...
    乌卓阅读 1,050评论 1 4
  • 朋友的姐姐32岁了,前几天终于要结束跟男友八年的恋爱长跑,准备收拾收拾结婚了。 “我份子钱都给了,我姐说她不结了。...
    长腿程阅读 569评论 1 1