首页 > 代码库 > iOS 按钮倒计时功能
iOS 按钮倒计时功能
iOS 按钮倒计时功能, 建议把按钮换成label,这样会避免读秒时闪烁
1 __block int time = 60; 2 __block UIButton *verifybutton = _GetverificationBtn; 3 verifybutton.enabled = NO; 4 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 5 dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue); 6 dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒执行 7 dispatch_source_set_event_handler(_timer, ^{ 8 if(time<=0){ //倒计时结束,关闭 9 dispatch_source_cancel(_timer); 10 dispatch_async(dispatch_get_main_queue(), ^{ 11 //设置界面的按钮显示 根据自己需求设置 12 [verifybutton setTitle:@"获取验证码" forState:UIControlStateNormal]; 13 verifybutton.enabled = YES; 14 }); 15 }else{ 16 dispatch_async(dispatch_get_main_queue(), ^{ 17 //设置界面的按钮显示 根据自己需求设置 18 verifybutton.backgroundColor = [UIColor grayColor]; 19 NSString *strTime = [NSString stringWithFormat:@"获取验证码(%d)",time]; 20 [verifybutton setTitle:strTime forState:UIControlStateNormal]; 21 verifybutton.titleLabel.textColor = [UIColor whiteColor]; 22 }); 23 time--; 24 } 25 }); 26 dispatch_resume(_timer);
iOS 按钮倒计时功能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。