博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 验证码按钮倒计时
阅读量:6207 次
发布时间:2019-06-21

本文共 1422 字,大约阅读时间需要 4 分钟。

 

在app 注册或者登录 需要验证码的地方、为了避免短时间内刷验证码、往往会加上一层验证。

 

倒计时结束后、可以重新获取!

 

代码实现如下:

 

// _CountdownTime 倒计时总时间;
//_timer 定时器
- (void)startTime:(UIButton *)VerificationCodeButton {    __block NSInteger timeout = [_CountdownTime integerValue];        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, ^{        if(timeout<=0){            dispatch_source_cancel(_timer);            dispatch_async(dispatch_get_main_queue(), ^{                [VerificationCodeButton setTitle:@"重新获取" forState:UIControlStateNormal];                VerificationCodeButton.userInteractionEnabled = YES;                VerificationCodeButton.alpha = 1.0;                VerificationCodeButton.backgroundColor = [UIColor whiteColor];            });        } else {            NSString *strTime = [NSString stringWithFormat:@"%lds", (long)timeout];            dispatch_async(dispatch_get_main_queue(), ^{                [VerificationCodeButton setTitle:strTime forState:UIControlStateNormal];                VerificationCodeButton.userInteractionEnabled = NO;                VerificationCodeButton.backgroundColor = [UIColor lightTextColor];            });            timeout--;        }    });    dispatch_resume(_timer);}

 

转载地址:http://dczja.baihongyu.com/

你可能感兴趣的文章
Leetcode: Next Permutation
查看>>
移动通信调制技术的进展 转
查看>>
压缩映象原理的一个应用
查看>>
Linux 中文乱码问题
查看>>
Asp.Net之自定义表达式构造器(ExpressionBuilder)
查看>>
修改一行SQL代码 性能提升了100倍
查看>>
Windows下Apache+Tomcat+jsp+php的服务器整合配置经验总结
查看>>
我们为什么需要DTO?
查看>>
scp命令
查看>>
编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]...
查看>>
C++11-新增正则表达式
查看>>
我的第一个 Mono for Android 应用
查看>>
hadoop安装详解
查看>>
Java框架
查看>>
java提高篇(三十)-----Iterator
查看>>
Java 实现简答的单链表的功能
查看>>
输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的...
查看>>
pjlib深入剖析和使用详解
查看>>
开源 java CMS - FreeCMS2.3 职位管理
查看>>
SimpleDateFormat关于时间类的一些常用处理
查看>>