OC Control BtnCountDown(验证码倒计时)

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。

OC Control BtnCountDown(验证码倒计时)下载链接

OC 项目底层框架(万能)

今天是2021年春节 初一 祝大家春节快乐

在这里插入图片描述

效果

在这里插入图片描述

使用

    @property (nonatomic,strong) UIButton *verificationCodeBtn;
    @property (nonatomic,strong) BtnCountDown *btnCountDown;
    self.btnCountDown = [BtnCountDown new];
    self.verificationCodeBtn = [UIButton new];
    self.verificationCodeBtn.addTo(self.view).bgColor([UIColor redColor]).str(@"获取验证码").fnt(16).color([UIColor whiteColor]).borderRadius(4).makeCons(^{
      make.center.equal.view(self.view);
      make.height.equal.constants(35);
      make.width.equal.constants(120);
    }).onClick(^{
      [self.btnCountDown startCount:YES countDownBtn:self.verificationCodeBtn btnTitleColor:[UIColor whiteColor] btnBackgroung:[UIColor redColor]];
    });

2021.07.16对获取验证码进行修改。下面说说我对这个按键的使用,上面的使用比较简单。

获取验证码 按键

self.VCodeBtn = [UIButton new];
self.VCodeBtn.addTo(self.view).str(@"获取验证码").color([Color nonActivated]).fnt(16).borderRadius(8).makeCons(^{
    make.centerY.equal.view(self.VCodeIcon);
    make.right.equal.view(self.view).constants(-20);
    make.height.equal.constants(35);
    make.width.equal.constants(90);
}).onClick(^{
//获取验证码接口    
[self.viewModel getSendVCodeWithMobile:self.phoneCode withEvent:self.event withAreaCode:@"86"];
/*
控制验证码按键
btn                         按键对象
countDownTitleColor         倒数时的颜色
countDownbgColor            倒数时的背景
finishCountDownTitleColor   倒数完毕的颜色
finishcountDownbgColor      倒数完毕的背景颜色
*/
[self.btnCountDown startCount:YES countDownBtn:self.VCodeBtn byCountDownTitleColor:[Color nonActivated] byCountDownBgColor:[UIColor whiteColor] byFinishCountDownTitleColor:[Color theme] byFinishcountDownbgColor:[UIColor whiteColor]];

    });

一般来说在获取验证码之前会控制 获取验证码按键是否允许点击。

#pragma  mark - 控制获取验证码按键是否允许点击
-(void)controlCodeBtnByPhoneNum:(NSString *)phoneNum byTime:(NSInteger)time{
  //需要传递时间的目的
  //防止用户输入手机号码点击获取验证码按键 秒数倒数的过程中把手机号码删除 再输入另一个号码变成按键可点击
    self.VCodeBtn.color(([Regular validateMobile:phoneNum] && time <= 0) ? [Color theme] : [Color textSub]);
    self.VCodeBtn.enabled = ([Regular validateMobile:phoneNum] && time <= 0) ? YES : NO;
}

//这个方法是校验合理的手机号码就返回 YES
[Regular validateMobile:phoneNum]

上面的方法一般会用在
1.进来页面的时候。
2.输入手机号码的时候

一般需要注意的是,如果输入一个手机号码,发送验证码到后台,后台返回报错,例如:手机号码未注册的时候,有些公司的需要求将倒数的效果设置成还原获取验证码的可点击状态。

获取验证码失败的回调代理。

-(void)registAndResetViewModel:(RegistAndResetViewModel *)viewModel failVCode:(NSString *)error{
    [FHXHUD showErrorTime:1.0 showTitle:error];
    self.btnCountDown.remainingSeconds = 0;//由于获取验证码失败,设置倒计时时间为0。
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冯汉栩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值