button获取验证码60秒倒计时 直接用
2024-10-15 08:52:33
__block int time = ;
__block UIButton *verifybutton = _GetverificationBtn;
verifybutton.enabled = NO;
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, );
dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, , ,queue);
dispatch_source_set_timer(_timer,dispatch_walltime(NULL, ),1.0*NSEC_PER_SEC, ); //每秒执行
dispatch_source_set_event_handler(_timer, ^{
if(time<=){ //倒计时结束,关闭
dispatch_source_cancel(_timer);
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示 根据自己需求设置
verifybutton.backgroundColor = [UIColor colorWithHexString:@"FC740A"];
[verifybutton setTitle:@"获取验证码" forState:UIControlStateNormal];
verifybutton.enabled = YES;
});
}else{
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示 根据自己需求设置
verifybutton.backgroundColor = [UIColor grayColor];
NSString *strTime = [NSString stringWithFormat:@"获取验证码(%d)",time];
[verifybutton setTitle:strTime forState:UIControlStateNormal];
verifybutton.titleLabel.textColor = [UIColor whiteColor];
});
time--;
}
});
dispatch_resume(_timer);
最新文章
- CJCMS系列--持久层对MangoDB的支持
- 分布式之Zookeeper使用
- mybatis 配置返回集合collection时只有一条记录
- ArrayList实现源码分析
- JavaScript网站设计实践(三)设计有特色的主页,给主页链接添加JavaScript动画脚本
- [时间操作] C#TimeHelper时间格式化帮助类 (转载)
- ACM HDU 1021 Fibonacci Again
- 1)③爬取网易It方面部分新闻
- bootstrap-typeahead自动补充
- IIS 发布 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- Cloudera Manager及CDH最新版本安装全程记录
- LinkedBlockingQueue 注记
- Spring Cloud中服务的发现与消费
- metasploit 教程之基本参数和扫描
- 破损的键盘 (Broken Keyboard)--又名悲剧文本(线性表)
- jQuery链式选择器方法-导航
- elasticsearch 基本配置
- 如何判断mac地址时multicast还是broadcast ?
- BZOJ1051 [HAOI2006]受欢迎的牛 Tarjan 强连通缩点
- Linux 安装 yum