iOS 简单的倒计时封装

- (void)start

{

    _time = 60;

    __block CountdownButton *blockSelf = self;

    if (_timer) {

        _timer = nil;

    }

      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        self.enabled = NO;

        blockSelf->_timer=[NSTimer scheduledTimerWithTimeInterval:1.0

                                                           target:blockSelf

                                                         selector:@selector(timeAction:)

                                                         userInfo:nil

                                                          repeats:YES] ;

        [[NSRunLoop currentRunLoop] addTimer:blockSelf->_timer forMode:NSDefaultRunLoopMode];

        [[NSRunLoop currentRunLoop] run];

    });


    

}


- (void)timeAction:(NSTimer *)timer

{

    --_time ;

    NSString *timeStr = [NSString stringWithFormat:@"%d 秒后重发",_time];

    [self setTitle:timeStr forState:UIControlStateDisabled];

    

    if (_time == 0) {

        [self stop];

    }


}


- (void)stop

{

    [_timer invalidate];

    _timer = nil;

    _time = 60;

    self.enabled = YES;

    [self setTitle:@"获取短信验证码" forState:UIControlStateNormal];


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值