iOS开发问题——简单的验证码倒计时显示

   在开发中的登录,注册,等类似功能种越来越多的假如通过发送短信来获取登录的验证码的功能,来挺高安全性。为防止出现恶意操作,往往对于发送短信的行为进行60秒的约束改功能的触发频率。

一下为简单实现步骤,代码如下:

ps:先声明一全局变量secound 并赋初值60(随你喜欢100都行)

#pragma mark - 发送验证码触发方法

-(void)sendCode:(UIButton *)button{

 

    timers = [NSTimer  scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerStart:) userInfo:nil repeats:YES];

    [self timerStart:timers];

}


-(void)timerStart:(NSTimer *)timer{

    if (secound == 1) {

        [timers invalidate];

        secound = 60;

     //验证码的按钮

        verifiButton.titleLabel.font = SIZEOFFONT(15);

        [verifiButton setTitle:@"发送验证码" forState:UIControlStateNormal];

        verifiButton.enabled = YES;

        [self releaseTimer];

    }else{

        secound --;

        NSString *tittle = [NSString stringWithFormat:@"(%d)后重新获取验证码",secound];

        verifiButton.titleLabel.font = SIZEOFFONT(13);

        [verifiButton setTitle:tittle forState:UIControlStateNormal];

        verifiButton.enabled = NO;

    }

}

//释放timer并将倒计时的描述重置为60

-(void)releaseTimer{

    if (timers) {

        if ([timers respondsToSelector:@selector(isValid)]) {

            if ([timers isValid]) {

                [timers invalidate];

                secound = 60;

            }

        }

    }

}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值