iOS 验证码按钮倒计时功能

 更新时间:2017年07月27日 09:09:30   作者:鸿鹄当高远  
在app注册或者登录需要验证码的地方、为了避免短时间内刷验证码、往往会加上一层验证当倒计时结束后、可以重新获取,关于ios 验证码按钮倒计时功能大家可以参考下本文

在app 注册或者登录 需要验证码的地方、为了避免短时间内刷验证码、往往会加上一层验证。

倒计时结束后、可以重新获取!

代码实现如下:

// _CountdownTime 倒计时总时间;
//_timer 定时器
- (void)startTime:(UIButton *)VerificationCodeButton 
{
 __block NSInteger timeout = [_CountdownTime integerValue];
 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
 _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_async(dispatch_get_main_queue(), ^{
    [VerificationCodeButton setTitle:@"重新获取" forState:UIControlStateNormal];
    VerificationCodeButton.userInteractionEnabled = YES;
    VerificationCodeButton.alpha = 1.0;
    VerificationCodeButton.backgroundColor = [UIColor whiteColor];
   });
  } else {
   NSString *strTime = [NSString stringWithFormat:@"%lds", (long)timeout];
   dispatch_async(dispatch_get_main_queue(), ^{
    [VerificationCodeButton setTitle:strTime forState:UIControlStateNormal];
    VerificationCodeButton.userInteractionEnabled = NO;
    VerificationCodeButton.backgroundColor = [UIColor lightTextColor];
   });
   timeout--;
  }
 });
 dispatch_resume(_timer);
}

总结

以上所述是小编给大家介绍的iOS 验证码按钮倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • IOS 静态库打包流程简化详细介绍

    IOS 静态库打包流程简化详细介绍

    这篇文章主要介绍了IOS 静态库打包流程简化详细介绍的相关资料,开发好的静态库后需要手动的合并.a文件,然后再拷贝相关的头文件,接着把静态库和头文件放在同一个文件里面打包发送给SDK的使用者,这里简化下流程,需要的朋友可以参考下
    2016-12-12
  • iOS开发中ViewController的页面跳转和弹出模态

    iOS开发中ViewController的页面跳转和弹出模态

    这篇文章主要介绍了iOS开发中ViewController的页面跳转和弹出模态,ViewController是MVC开发模式中一个重要的类,需要的朋友可以参考下
    2015-10-10
  • iOS客户端本地推送实现代码

    iOS客户端本地推送实现代码

    这篇文章主要介绍了iOS客户端本地推送实现代码,并确定程序中只有一个弹出框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • iOS利用Label实现的简单高性能标签TagView

    iOS利用Label实现的简单高性能标签TagView

    这篇文章主要给大家介绍了关于iOS利用Label实现的简单高性能标签TagView的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • 解决Alamofire库在iOS7下设置Head无效的问题

    解决Alamofire库在iOS7下设置Head无效的问题

    本文主要介绍Alamofire库在iOS下设置Head,这里通过代码实例解决不同版本的IOS系统出现的问题,有需要的小伙伴可以参考下
    2016-07-07
  • iOS实现导航栏透明示例代码

    iOS实现导航栏透明示例代码

    本篇文章主要介绍了iOS实现导航栏透明示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • iOS自定义日期选择器

    iOS自定义日期选择器

    这篇文章主要为大家详细介绍了iOS自定义日期选择器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 详解iOS Method Swizzling使用陷阱

    详解iOS Method Swizzling使用陷阱

    这篇文章主要介绍了详解iOS Method Swizzling使用陷阱,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • iOS开发之拦截URL转换成本地路由模块URLRewrite详解

    iOS开发之拦截URL转换成本地路由模块URLRewrite详解

    这篇文章主要给大家介绍了关于iOS开发之拦截URL转换成本地路由模块URLRewrite的相关资料,这是最近在工作中遇到的一个需求,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
    2017-08-08
  • ios中图像进行压缩方法汇总

    ios中图像进行压缩方法汇总

    在Iphone上有两种读取图片数据的简单方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. UIImageJPEGRepresentation函数需要两个参数:图片的引用和压缩系数.而UIImagePNGRepresentation只需要图片引用作为参数.
    2015-05-05

最新评论