iOS 倒计时NSTimer

项目中可能会遇到有些倒计时的地方

比方 手机验证的时候,验证码一般都会有一个时间限制,此时在输入验证码的地方就须要展示一个倒计时

详细实现方式是使用了iOS 自带的 NSTimer

上代码

首先新建

    int secondsCountDown; //倒计时总时长
    NSTimer *countDownTimer;
    UILabel *labelText;

然后详细实现

    //创建UILabel 加入到当前view
    labelText=[[UILabel alloc]initWithFrame:CGRectMake(10, 120, 120, 36)];
    [self.view addSubview:labelText];

    //设置倒计时总时长
    secondsCountDown = 60;//60秒倒计时
    //開始倒计时
    countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeFireMethod) userInfo:nil repeats:YES]; //启动倒计时后会每秒钟调用一次方法 timeFireMethod

    //设置倒计时显示的时间
    labelText.text=[NSString stringWithFormat:@"%d",secondsCountDown];

实现每秒钟运行的方法

-(void)timeFireMethod{
    //倒计时-1
    secondsCountDown--;
    //改动倒计时标签现实内容
    labelText.text=[NSString stringWithFormat:@"%d",secondsCountDown];
    //当倒计时到0时。做须要的操作,比方验证码过期不能提交
    if(secondsCountDown==0){
        [countDownTimer invalidate];
        [labelText removeFromSuperview];
    }
}

大致已经实现,有问题可继续交流

苹果开发群 :414319235  欢迎增加  欢迎讨论问题

时间: 2024-10-29 19:07:48

iOS 倒计时NSTimer的相关文章

IOS系列——NStimer

Timer常用的一些东西 1. 初始化 timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeTime:) userInfo:nil <span style="font-family: Arial, Helvetica, sans-serif;"> repeats:YES];</span> 2.timer 马上执行 [tiemr fire];

IOS 中NSTimer使用注意事项

1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelec

iOS 中 NSTimer 使用详解-北京尚学堂

iOS 中 NSTimer 使用详解-北京尚学堂 前阵子在整理公司项目的时候,发现老代码在使用 NSTimer 时出现了内存泄露.然后整理了一些 NSTimer 的相关内容.比较简单,各位见笑啦. NSTimer fire 我们先用 NSTimer来做个简单的计时器,每隔5秒钟在控制台输出 Fire .比较想当然的做法是这样的: @interface DetailViewController () @property (nonatomic, weak) NSTimer *timer; @end

iOS 倒计时及获取本时区时间

倒计时 在viewDidLoad里写个定时器 [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES]; 然后声明定时器的方法 -(void)timerFireMethod:(NSTimer*)theTimer { //定义一个NSCalendar对象 NSCalendar *cal = [NSCalendar cur

iOS 倒计时方法

倒计时用到了两种方法:1.NSTimer  2.GCD 设计思路:view上有label和button,label用NSTimer倒计时,button用GCD,点击button同时倒计时,5秒后停止 上代码: @interface里: @property (assign,nonatomic)int numer; @property (strong,nonatomic)NSTimer * timer; @property (strong,nonatomic)UILabel * label; @pr

iOS之 NSTimer

以前没怎么了解过这个NSTimer,其实还是有挺多坑的,今天来总结一下: 首先我们一起来看这个: 我在A  -> (push) -> B控制器,然后再B控制器中开启了一个NSTimer.然后我又pop到A pop到A的时候,定时器还在运行,并且B没有被释放(未调用dealloc).why? 这就不得不让我联想到我上篇写到的 “常驻线程”了,莫非NSTimer也是添加到了RunLoop? 这说明本例中的NSTimer确实是跑在了NSRunLoop中. 那为什么B没有释放呢? Timer对Targ

IOS开发—NSTimer

创建timer对象的三种方法 一.这两个类方法创建一个timer并把它指定到一个默认的runloop模式中 + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo; + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(i

【转】IOS 计时器 NSTimer

原文网址:http://blog.csdn.net/tangshoulin/article/details/7644124 1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; + (NSTimer *)scheduledTimerWithTimeInter

ios 倒计时

http://stackoverflow.com/questions/10663184/implementing-a-countdown-timer-in-objective-c http://stackoverflow.com/questions/17145112/countdown-timer-ios-tutorial iOS Countdown Timer To Specific Date UITableViewCell countdown UILabel not updating Mul