首页 > 系统 > iOS > 正文

iOS实现手机获取验证码倒计时效果

2020-07-26 02:44:36
字体:
来源:转载
供稿:网友

手机获取验证码的倒计时效果,实现很简单,附倒计时效果完整代码

之前做项目使用的是NSTimer做的倒计时效果,效果不太好。今天学习了下用GCD做,效果还是不错的。

关键代码如下:(完整代码)

//创建一个全局并非队列  dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);   //创建一个定时器    _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, ^{    timeout --;     if (timeout <= 0) {       //定时器结束,关闭        dispatch_source_cancel(_timer);       _timer = nil;       //回到主线程刷新UI       dispatch_async(dispatch_get_main_queue(), ^{       [_btn setTitle:@"获取验证码" forState:UIControlStateNormal];       });     }    else {  //回到主线程刷新UI   dispatch_async(dispatch_get_main_queue(), ^{     [_btn setTitle:[NSString stringWithFormat:@"%ds后重新获取",timeout] forState:UIControlStateNormal];     });     }    });  //启动定时器dispatch_resume(_timer);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表