iOS 验证码按钮倒计时功能

发布时间 - 2026-01-11 02:31:46    点击率:

在app 注册或者登录 需要验证码的地方、为了避免短时间内刷验证码、往往会加上一层验证。

倒计时结束后、可以重新获取!

代码实现如下:

// _CountdownTime 倒计时总时间;
//_timer 定时器
- (void)startTime:(UIButton *)VerificationCodeButton 
{
 __block NSInteger timeout = [_CountdownTime integerValue];
 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);
 dispatch_source_set_event_handler(_timer, ^{
  if(timeout<=0){
   dispatch_source_cancel(_timer);
   dispatch_async(dispatch_get_main_queue(), ^{
    [VerificationCodeButton setTitle:@"重新获取" forState:UIControlStateNormal];
    VerificationCodeButton.userInteractionEnabled = YES;
    VerificationCodeButton.alpha = 1.0;
    VerificationCodeButton.backgroundColor = [UIColor whiteColor];
   });
  } else {
   NSString *strTime = [NSString stringWithFormat:@"%lds", (long)timeout];
   dispatch_async(dispatch_get_main_queue(), ^{
    [VerificationCodeButton setTitle:strTime forState:UIControlStateNormal];
    VerificationCodeButton.userInteractionEnabled = NO;
    VerificationCodeButton.backgroundColor = [UIColor lightTextColor];
   });
   timeout--;
  }
 });
 dispatch_resume(_timer);
}

总结

以上所述是小编给大家介绍的iOS 验证码按钮倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ios  # 验证码倒计时  # 验证码按钮倒计时  # iOS启动页倒计时跳过按钮功能  # iOS实现秒杀活动倒计时  # iOS实现短信验证码倒计时  # 详解iOS中多倒计时场景的解决方案  # iOS封装倒计时按钮HLCountDownButton示例详解  # 验证码  # 倒计时  # 小编  # 在此  # 时间内  # 给大家  # 往往会  # 所述  # 为了避免  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # 结束后  # NSInteger  # timeout  # UIButton  # startTime  # __block  # VerificationCodeButton 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Laravel如何实现API版本控制_Laravel版本化API设计方案  如何快速搭建虚拟主机网站?新手必看指南  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  🚀拖拽式CMS建站能否实现高效与个性化并存?  免费网站制作appp,免费制作app哪个平台好?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  手机软键盘弹出时影响布局的解决方法  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Python自动化办公教程_ExcelWordPDF批量处理案例  Laravel如何实现文件上传和存储?(本地与S3配置)  Laravel如何与Pusher实现实时通信?(WebSocket示例)  香港服务器如何优化才能显著提升网站加载速度?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  JavaScript如何操作视频_媒体API怎么控制播放  nodejs redis 发布订阅机制封装实现方法及实例代码  如何解决hover在ie6中的兼容性问题  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  LinuxCD持续部署教程_自动发布与回滚机制  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  如何快速辨别茅台真假?关键步骤解析  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Swift中循环语句中的转移语句 break 和 continue  西安专业网站制作公司有哪些,陕西省建行官方网站?  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel如何配置Horizon来管理队列?(安装和使用)  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  如何破解联通资金短缺导致的基站建设难题?  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  如何快速选择适合个人网站的云服务器配置?  如何用已有域名快速搭建网站?  JavaScript如何实现音频处理_Web Audio API如何工作?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  桂林网站制作公司有哪些,桂林马拉松怎么报名?  如何用低价快速搭建高质量网站?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法