GCD定时器验证码倒计时_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > GCD定时器验证码倒计时

GCD定时器验证码倒计时

 2017/8/7 12:31:18  JX-Mr.D  程序员俱乐部  我要评论(0)
  • 摘要:p.p1{margin:0.0px0.0px0.0px0.0px;font:14.0pxMenlo;color:#ffffff}p.p2{margin:0.0px0.0px0.0px0.0px;font:14.0pxMenlo;color:#00b1ff}p.p3{margin:0.0px0.0px0.0px0.0px;font:14.0pxMenlo;color:#eb905a}span.s1{}span.s2{color:#de38a5}span.s3{color:#00b1ff}span
  • 标签:
class="brush:objc;gutter:true;">- (IBAction)butClick:(UIButton *)but {
    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);
    __block NSInteger time = count;
    dispatch_source_set_event_handler(_timer, ^{
        if(time<=0){
            dispatch_source_cancel(_timer);
            dispatch_async(dispatch_get_main_queue(), ^{
                [but setTitle:@"重新获取" forState:UIControlStateNormal];
                but.userInteractionEnabled = YES;
                but.alpha = 1.0;
                but.backgroundColor = [UIColor whiteColor];
            });
        } else {
            NSString *strTime = [NSString stringWithFormat:@"%lds", (long)time];
            dispatch_async(dispatch_get_main_queue(), ^{
                [but setTitle:strTime forState:UIControlStateNormal];
                but.userInteractionEnabled = NO;
                but.backgroundColor = [UIColor lightTextColor];
            });
            time--;
        }
    });
    dispatch_resume(_timer);
}

  

  • 相关文章
发表评论
用户名: 匿名