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各种设备信息获取方法总结(包括iPhone8/iPhone X)

    超全的iOS各种设备信息获取方法总结(包括iPhone8/iPhone X)

    这篇文章主要给大家介绍了关于iOS各种设备信息获取方法,iPhone8/iPhone X的后驱详细信息也已更新,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • 详解iOS开发中Keychain的相关使用

    详解iOS开发中Keychain的相关使用

    这篇文章主要介绍了iOS开发中Keychain的相关使用,文中列举了一个使用Keychain来保存密码的例子,需要的朋友可以参考下
    2015-10-10
  • iOS中如何获取某个视图的截图详析

    iOS中如何获取某个视图的截图详析

    这篇文章主要给大家介绍了关于在iOS中如何获取某个视图的截图的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • ios学习笔记之基础数据类型的转换

    ios学习笔记之基础数据类型的转换

    在编码过程中,数据的处理是必要的。众多数据中,NSString、NSData、NSArray、 NSDictionary等数据类型是常用的,对付它们容易,但是在多个数据类型之间转换就需要技巧了。本文主要给大家介绍ios中基础数据类型的转换,有需要的下面来一起看看吧。
    2016-11-11
  • iOS应用开发中导航栏按钮UIBarButtonItem的添加教程

    iOS应用开发中导航栏按钮UIBarButtonItem的添加教程

    这篇文章主要介绍了iOS应用开发中导航栏按钮UIBarButtonItem的添加教程,文中详细介绍了使用UINavigationController导航控制器添加的过程,需要的朋友可以参考下
    2016-02-02
  • iOS中的UIStepper数值加减器用法指南

    iOS中的UIStepper数值加减器用法指南

    UIStepper可以有许多应用场景,比如在购物应用中制作按钮对购买商品的数量进行增或减,下面我们就一起来看看iOS中的UIStepper数值加减器用法指南
    2016-05-05
  • iOS中Xcode 8 日志输出乱码问题的解决方法

    iOS中Xcode 8 日志输出乱码问题的解决方法

    这篇文章主要介绍了iOS中Xcode 8日志输出乱码问题及解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 解决iOS13 无法获取WiFi名称(SSID)问题

    解决iOS13 无法获取WiFi名称(SSID)问题

    这篇文章主要介绍了解决iOS13 无法获取WiFi名称(SSID)问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • iOS实现多控制器切换效果

    iOS实现多控制器切换效果

    这篇文章主要为大家详细介绍了iOS实现多控制器切换效果,带滑动动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • iOS UISegmentControl实现自定义分栏效果

    iOS UISegmentControl实现自定义分栏效果

    这篇文章主要为大家详细介绍了iOS UISegmentControl实现自定义分栏效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论