ios开发之倒计时实现的两种方法

news/2024/11/22 17:18:34/

方法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);





http://www.ppmy.cn/news/339119.html

相关文章

iOS 一个可以输入时间的倒计时器

本文为博主手写总结性文章&#xff0c;如若涉及版权问题&#xff0c;请与博主联系。 #import "ViewController.h"interface ViewController () <UITextFieldDelegate>property int Hour; property int Minute; property int Second;property int width; prope…

iPhone 的倒计时竟然会显示假时间?

【CSDN 编者按】你会怀疑手机的倒计时时间不准吗&#xff1f;一名开发者在他的倒计时应用中发现&#xff0c;iPhone的倒计时并没有严格的显示正确的时间&#xff0c;而研究下来发现&#xff0c;这样可以方便人们更直观地读取时间。 英文&#xff1a;Why the iPhone Timer App d…

iOS倒计时的实现,显示剩余天、时、分、秒

iOS倒计时的实现&#xff0c;显示剩余天、时、分、秒 做项目中经常会遇到秒杀、抢商品啊等等。那么这个十分秒的倒数是如何代码实现的呢&#xff01; Demo地址&#xff1a;https://github.com/zhengwenming/countDown 通常后台会给我们一个时间戳活着截至日期&#xff08;deadL…

iOS 倒计时NSTimer

项目中可能会遇到有些倒计时的地方 比如 手机验证的时候&#xff0c;验证码一般都会有一个时间限制&#xff0c;此时在输入验证码的地方就需要展示一个倒计时 具体实现方式是使用了iOS 自带的 NSTimer 上代码 首先新建 int secondsCountDown; //倒计时总时长NSTimer *countDo…

计算机视觉项目:手势拖拽方块和手势控制音量

项目简介&#xff1a; 电子科技大学中山学院2019级计算机视觉的课程设计 语言&#xff1a;Python 开发工具&#xff1a;Pycharm、Python3.9 库&#xff1a;PyQt、OpenCv、mediapipe 功能&#xff1a; 手势拖拽方块&#xff1a;通过食指与中指的距离控制方块移动 手势控制音量&a…

win11 右下角图标(网络,音量,电量)点击无反应解决方法

右键此电脑点击管理 打开服务&#xff0c;找到windows推送通知系统服务这一项&#xff0c;右键打开它的属性&#xff0c;将启动类型改为“禁用”&#xff0c;再点击停止按钮停止该服务&#xff0c;点击应用、确定。 重启电脑&#xff0c;问题解决。把windows推送通知系统服务…

Windows10任务栏的声音、网络图标左键无反应,右键可正常打开

今天突然遇见一个奇怪的问题&#xff0c;win10系统的一位同学&#xff0c;因为更改了域管理的密码&#xff0c;导致任务栏的声音、网络图标点击左键都没反应&#xff0c;但右键设置功能正常。并且在网络管理设置中也无法打开wifi菜单。&#xff08;更换系统用户&#xff0c;在其…

win10任务栏的音量图标变透明且无法点击

一、问题场景 win10专业版启动后发现任务栏里没有音量图标&#xff0c;检查设置里音量图标显示已经打开了&#xff0c;再仔细看下任务栏里图标中间有一块透明的地方&#xff0c;鼠标移过去有文字显示&#xff0c;但是右击无效果。 二、解决方案 打开任务管理器&#xff0c;在…