iOS开发中获取短信验证码倒计时按钮的实现
2016-11-17 17:31
369 查看
-(void)startTime{ __block int 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(), ^{ //设置界面的按钮显示 根据自己需求设置(倒计时结束后调用) [l_timeButton setTitle:@"发送验证码" forState:UIControlStateNormal]; //设置不可点击 l_timeButton.userInteractionEnabled = YES; l_timeButton.backgroundColor = [UIColor orangeColor]; }); }else{ // int minutes = timeout / 60; //这里注释掉了,这个是用来测试多于60秒时计算分钟的。 int seconds = timeout % 60; NSString *strTime = [NSString stringWithFormat:@"%d", seconds]; dispatch_async(dispatch_get_main_queue(), ^{ //设置界面的按钮显示 根据自己需求设置 NSLog(@"____%@",strTime); [l_timeButton setTitle:[NSString stringWithFormat:@"%@秒后可重新发送",strTime] forState:UIControlStateNormal]; //设置可点击 l_timeButton.userInteractionEnabled = NO; l_timeButton.backgroundColor = [UIColor lightGrayColor]; }); timeout--; } }); dispatch_resume(_timer); }
相关文章推荐
- iOS开发中获取短信验证码倒计时按钮的实现
- 获取短信验证码时的倒计时按钮实现
- 获取短信验证码 按钮 实现倒计时
- 获取短信验证码时的倒计时按钮实现
- 获取短信验证码时的倒计时按钮实现
- iOS获取短信验证码倒计时的两种实现方法
- ios开发,发验证码倒计时按钮的实现
- ios开发-UI基础-应用管理(单纯界面)改进5-使用代理实现监听下载按钮的点击(delegate)
- iOS开发 -- 置顶按钮功能实现
- IOS开发笔记——实现倒计时
- ios开发之倒计时实现的两种方法
- ios开发之倒计时实现的两种方法
- IOS开发学习笔记029-反选、全选、删除按钮的实现
- ios开发:怎么实现点击一个按钮,跳转到一个新的界面,并回退到上一界面
- iOS 9应用开发教程之ios9中实现按钮的响应
- ios开发之倒计时实现
- IOS开发代码分享之用nstimer实现倒计时功能
- ios开发之倒计时实现的两种方法
- 递归实现获取短信验证码按钮时间倒计时显示功能
- 【iOS开发-9】UIImage和UIImageView属性介绍,实现图片动画,实现开始/停止按钮效果