iOS短信验证码倒计时Button的实现
2016-05-14 15:41
393 查看
- (IBAction)sendEvent:(id)sender { //倒计时时间 __block int timeout=30; 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(), ^{ //设置界面的按钮显示 根据自己需求设置 [_countdownButton setTitle:@"发送验证码" forState:UIControlStateNormal]; _countdownButton.backgroundColor = [UIColor orangeColor]; _countdownButton.userInteractionEnabled = YES; }); }else{ // int minutes = timeout / 60; int seconds = timeout % 60; NSString *strTime = [NSString stringWithFormat:@"%.2d", seconds]; dispatch_async(dispatch_get_main_queue(), ^{ //设置界面的按钮显示 根据自己需求设置 NSLog(@"____%@",strTime); [_countdownButton setTitle:[NSString stringWithFormat:@"%@",strTime] forState:UIControlStateNormal]; _countdownButton.backgroundColor = [UIColor grayColor]; _countdownButton.userInteractionEnabled = NO; }); timeout--; } }); dispatch_resume(_timer); }
关于SB界面我就不搭建了,简单一个Button就搞定了,简单的拖线!
如有不足还望指教,谢谢!
相关文章推荐
- iOS 推送证书或普通证书过期
- ios客户端学习-cell特效
- iOS @synchronized关键字 线程保护锁作用
- 分享自己收藏的几个iOS博客
- iOS开发-文件管理(一)
- 浅谈几种iOS定时器
- iOS 并行编程:GCD Dispatch Sources
- iOS开发(OC)——文字的自适应高度和行间距的设置
- iOS长微博实现
- iOS引用计数
- 四位密码程序,效果类似IOS(附源代码)
- iOS开发——Cocoapods的安装和使用
- 关于CoreImage人脸检测
- iOS开发——静态库的导入和头文件路径的设置
- 腾讯云在线直播一
- 【转载】GitHub Top 100 简介(IOS框架)
- 今天要把之前安卓版的页面。做成ios版的。宝宝加油
- HDU 1017 A Mathematical Curiosity【水题】
- iOS文件管理(一)
- ios开发简单计算器