iOS GCD实现获取验证码的倒计时
来源:互联网 发布:js 时间范围选择控件 编辑:程序博客网 时间:2024/05/20 00:12
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄
//倒计时按钮
@property(nonatomic,strong)UIButton *btnCountdown;
//用 GCD实现倒计时功能
- (void)btnCountdownClick{
//倒计时默认状体
[_btnCountdownsetTitle:@"重发(60s)"forState:UIControlStateNormal];
//倒计时时间
__blockint timeout=59;
//倒计时全局队列
dispatch_queue_t queue =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(timeout<=0){//倒计时结束,关闭
//取消事件处理器
dispatch_source_cancel(_timer);
//回到主线程
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示根据自己需求设置
_btnCountdown.userInteractionEnabled =YES;
//设置倒计时标题
[_btnCountdownsetTitle:@"获取验证码"forState:UIControlStateNormal];
});
}else{
//去时间余
int seconds = timeout %60;
//拿到时间文字
NSString *strTime = [NSStringstringWithFormat:@"%.2d", seconds];
//回到主线程
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示根据自己需求设置
[UIViewbeginAnimations:nilcontext:nil];
//设置动画时间为1秒
[UIViewsetAnimationDuration:1];
//时间倒计时为0的时候显示重发?秒
[_btnCountdownsetTitle:[NSStringstringWithFormat:@"重发(%@秒)",strTime]forState:UIControlStateNormal];
[UIViewcommitAnimations];
_btnCountdown.userInteractionEnabled =NO;
});
timeout--;
}
});
dispatch_resume(_timer);
}
- iOS GCD实现获取验证码的倒计时
- 通过GCD实现获取验证码的倒计时
- iOS GCD实现发送验证码倒计时
- IOS验证码倒计时(GCD)
- 短信验证码倒计时+GCD实现
- iOS 获取验证码倒计时
- iOS -- 倒计时获取验证码
- iOS常用技术 —获取验证码 倒计时 实现
- 发送验证码的倒计时。GCD方法
- 倒计时(获取验证码的倒计时)
- iOS开发中获取短信验证码倒计时按钮的实现
- IOS 获取验证码倒计时(timer)
- iOS-获取验证码中的倒计时功能
- iOS 之获取短信验证码倒计时
- iOS 开发获取验证码倒计时
- js获取验证码倒计时的实现方法
- 一段实现获取验证码倒计时效果的Jquery
- Android实现获取验证码的倒计时功能
- 2017年高频率的互联网校园招聘面试题
- 触发器实例
- JavaScript
- Go标准容器之Heap
- [李景山php] 关于父进程 僵尸进程 init 进程
- iOS GCD实现获取验证码的倒计时
- [一天几个linux命令] SUID SGID SBIT
- POJ 1403 Hotline 笔记
- [李景山php] 关于C语言中的 exit 及 _exit 区别
- 第一篇博客-面试失败的感想
- Spring Bean装配--Autowired注解注入说明
- 51Nod-1015 水仙花数【进制+查表搜索】
- 俩数据库时间类型字段的转换
- PHP跳转失败,header location无效