ios 实现倒计时的两种方式
发布时间 - 2026-01-10 22:43:45 点击率:次方法1:使用NSTimer来实现

主要使用的是NSTimer的scheduledTimerWithTimeInterval方法来每1秒执行一次timeFireMethod函数,timeFireMethod进行倒计时的一些操作,完成时把timer给invalidate掉就ok了,代码如下:
secondsCountDown = 60;//60秒倒计时
countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeFireMethod) userInfo:nil repeats:YES];
-(void)timeFireMethod{
secondsCountDown--;
if(secondsCountDown==0){
[countDownTimer invalidate];
}
}
方法2:使用GCD来实现
代码如下:
__block int timeout=300; //倒计时时间
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, ^{
if(timeout<=0){ //倒计时结束,关闭
dispatch_source_cancel(_timer);
dispatch_release(_timer);
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示 根据自己需求设置
。。。。。。。。
});
}else{
int minutes = timeout / 60;
int seconds = timeout % 60;
NSString *strTime = [NSString stringWithFormat:@"%d分%.2d秒后重新获取验证码",minutes, seconds];
dispatch_async(dispatch_get_main_queue(), ^{
//设置界面的按钮显示 根据自己需求设置
。。。。。。。。
});
timeout--;
}
});
dispatch_resume(_timer);
以上所述是小编给大家介绍的ios实现倒计时的两种方式,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# ios实现倒计时
# IOS开发代码分享之用nstimer实现倒计时功能
# IOS实现验证码倒计时功能(一)
# IOS关于大型网站抢购、距活动结束
# 剩余时间倒计时的实现代码
# iOS中实现简单易懂秒杀倒计时/倒计时代码
# iOS中让多个cell上都出现倒计时的分析与实现
# iOS实现毫秒倒计时的方法详解
# iOS获取短信验证码倒计时的两种实现方法
# iOS启动页倒计时跳过按钮功能
# Swift实现iOS应用中短信验证码倒计时功能的实例分享
# iOS实现秒杀活动倒计时
# 倒计时
# 来实现
# 小编
# 的是
# 在此
# 两种
# 给大家
# 验证码
# 方法来
# 所述
# 感谢大家
# class
# java
# secondsCountDown
# brush
# countDownTimer
# repeats
# void
# GCD
# nil
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript常见的五种数组去重的方式
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel Fortify是什么,和Jetstream有什么关系
Python文件操作最佳实践_稳定性说明【指导】
如何用景安虚拟主机手机版绑定域名建站?
使用Dockerfile构建java web环境
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
手机网站制作与建设方案,手机网站如何建设?
Swift中switch语句区间和元组模式匹配
bing浏览器学术搜索入口_bing学术文献检索地址
公司网站制作需要多少钱,找人做公司网站需要多少钱?
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Laravel如何优化应用性能?(缓存和优化命令)
如何快速建站并高效导出源代码?
Android滚轮选择时间控件使用详解
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何用美橙互联一键搭建多站合一网站?
Laravel如何使用Sanctum进行API认证?(SPA实战)
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
iOS UIView常见属性方法小结
如何快速辨别茅台真假?关键步骤解析
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
EditPlus中的正则表达式 实战(2)
如何在宝塔面板创建新站点?
如何解决hover在ie6中的兼容性问题
详解jQuery停止动画——stop()方法的使用
大学网站设计制作软件有哪些,如何将网站制作成自己app?
Java类加载基本过程详细介绍
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
香港服务器网站卡顿?如何解决网络延迟与负载问题?
BootStrap整体框架之基础布局组件
Laravel如何处理CORS跨域请求?(配置示例)
Laravel如何发送系统通知?(Notification渠道示例)
Linux系统运维自动化项目教程_Ansible批量管理实战
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】

