iOS发送验证码倒计时应用
发布时间 - 2026-01-10 21:49:34 点击率:次app注册的时候,经常会遇到发送验证码的功能,当点击发送验证码的时候,那个button就开始了倒计时,当计时结束才可以重新发送,效果如下:

具体代码实现如下:
- (IBAction)sendMes:(UIButton *)sender
{
__block int timeout = 10 ; //倒计时时间
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, ^{ //每秒钟回调的方法 跟NSTimer 一样的的执行方法
if(timeout<=0){ //倒计时结束,关闭
dispatch_source_cancel(_timer);
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示
[sender setTitle:@"发送验证码" forState:UIControlStateNormal];
sender.enabled = YES;
});
}else{
int seconds = timeout % 60;
NSString *strTime = [NSString stringWithFormat:@"%d", seconds];
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"----%@", [NSThread currentThread]);
//设置界面的按钮显示
[sender setTitle:[NSString stringWithFormat:@"(%@)重新获取",strTime] forState:UIControlStateDisabled];
sender.enabled = NO;
});
timeout--;
}
});
//一定要调用resume 开启定时器的功能
}
这个button可以直接在storyboard中实现,button的背景颜色选为灰色,再设置一个背景图片,如上图的红色图片,button的type设置为:custom
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# iOS验证码倒计时
# iOS发送验证码倒计时
# iOS倒计时应用
# IOS实现验证码倒计时功能(一)
# iOS获取短信验证码倒计时的两种实现方法
# Swift实现iOS应用中短信验证码倒计时功能的实例分享
# IOS实现验证码倒计时功能(二)
# iOS 验证码按钮倒计时功能
# iOS实现手机获取验证码倒计时效果
# iOS获取验证码倒计时效果
# iOS实现短信验证码倒计时
# iOS登录时验证手机号与倒计时发送验证码问题详解
# 验证码
# 倒计时
# 才可以
# 可以直接
# 设置为
# 经常会
# 回调
# 大家多多
# 开始了
# 每秒钟
# 如上图
# queue
# int
# timeout
# __block
# dispatch_queue_t
# _timer
# dispatch_source_create
# DISPATCH_SOURCE_TYPE_TIMER
# dispatch_get_global_queue
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信推文制作网站有哪些,怎么做微信推文,急?
动图在线制作网站有哪些,滑动动图图集怎么做?
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Python函数文档自动校验_规范解析【教程】
Laravel Fortify是什么,和Jetstream有什么关系
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
html如何与html链接_实现多个HTML页面互相链接【互相】
网站建设保证美观性,需要考虑的几点问题!
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
高防服务器如何保障网站安全无虞?
如何在阿里云ECS服务器部署织梦CMS网站?
昵图网官网入口 昵图网素材平台官方入口
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
JavaScript如何实现继承_有哪些常用方法
phpredis提高消息队列的实时性方法(推荐)
独立制作一个网站多少钱,建立网站需要花多少钱?
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何在新浪SAE免费搭建个人博客?
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
黑客如何通过漏洞一步步攻陷网站服务器?
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
Bootstrap整体框架之CSS12栅格系统
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
微信小程序 闭包写法详细介绍
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Laravel如何使用查询构建器?(Query Builder高级用法)
利用 Google AI 进行 YouTube 视频 SEO 描述优化
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Python面向对象测试方法_mock解析【教程】
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
java中使用zxing批量生成二维码立牌
深圳网站制作培训,深圳哪些招聘网站比较好?
如何用PHP工具快速搭建高效网站?
如何在自有机房高效搭建专业网站?
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
EditPlus中的正则表达式 实战(1)
QQ浏览器网页版登录入口 个人中心在线进入
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
LinuxShell函数封装方法_脚本复用设计思路【教程】
如何基于云服务器快速搭建个人网站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
PHP正则匹配日期和时间(时间戳转换)的实例代码

