最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ios 实现倒计时的两种方式
时间:2017-03-01 编辑:简简单单 来源:一聚教程网
方法1:使用NSTimer来实现
主要使用的是NSTimer的scheduledTimerWithTimeInterval方法来每1秒执行一次timeFireMethod函数,timeFireMethod进行倒计时的一些操作,完成时把timer给invalidate掉就ok了
代码如下 | 复制代码 |
secondsCountDown =60;//60秒倒计时 countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1target:self selector:@selector(timeFireMethod) userInfo:nil repeats:YES]; -(void)timeFireMethod{ secondsCountDown--; if(secondsCountDown==0){ [countDownTimer invalidate]; } } |
方法2:使用GCD来实现
代码如下 | 复制代码 |
__blockinttimeout=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{ intminutes = timeout /60; intseconds = timeout %60; NSString *strTime = [NSString stringWithFormat:@"%d分%.2d秒后重新获取验证码",minutes, seconds]; dispatch_async(dispatch_get_main_queue(), ^{ //设置界面的按钮显示 根据自己需求设置 。。。。。。。。 }); timeout--; } }); dispatch_resume(_timer); |
相关文章
- 魅族PRO 7发布会倒计时 邀请函正式发布 07-17
- iOS倒计时的实现方法 06-21
- ppt添加宏倒计时的方法 ppt怎么添加宏倒计时 04-28
- ListView中倒计时的实现问题集锦 06-18
- 2015年高考倒计时:山东省高考冲刺模拟卷作文 04-17
- 2015年高考倒计时:江西省南昌市十所省重点中学模拟作文题 04-17