iOS实现手机获取验证码倒计时效果

 更新时间:2017年07月24日 17:33:56   作者:zhao先生  
这篇文章主要为大家详细介绍了iOS实现手机获取验证码倒计时效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

手机获取验证码的倒计时效果,实现很简单,附倒计时效果完整代码

之前做项目使用的是NSTimer做的倒计时效果,效果不太好。今天学习了下用GCD做,效果还是不错的。

关键代码如下:(完整代码)

//创建一个全局并非队列
  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, ^{
    timeout --;
     if (timeout <= 0) {
       //定时器结束,关闭
        dispatch_source_cancel(_timer);
       _timer = nil;
       //回到主线程刷新UI
       dispatch_async(dispatch_get_main_queue(), ^{
       [_btn setTitle:@"获取验证码" forState:UIControlStateNormal];
       });
     }
    else
 {
  //回到主线程刷新UI
   dispatch_async(dispatch_get_main_queue(), ^{
     [_btn setTitle:[NSString stringWithFormat:@"%ds后重新获取",timeout] forState:UIControlStateNormal];
     });
     }
    });
  //启动定时器
dispatch_resume(_timer);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • swift MD5加密源码的实例详解

    swift MD5加密源码的实例详解

    这篇文章主要介绍了swift MD5加密源码的实例详解的相关资料,希望通过本文能帮助到大家实现MD5加密,需要的朋友可以参考下
    2017-09-09
  • iOS中图片的解压缩到渲染过程详解

    iOS中图片的解压缩到渲染过程详解

    这篇文章主要给大家介绍了关于iOS中图片的解压缩到渲染过程的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • IOS动画效果源代码整理(粒子、雪花、火焰、河流、蒸汽)

    IOS动画效果源代码整理(粒子、雪花、火焰、河流、蒸汽)

    本篇文章给大家整理的IOS的关于动画的效果代码整理,很多效果非常的好看,有兴趣的学下。
    2018-01-01
  • iOS实现动态自适应标签

    iOS实现动态自适应标签

    这篇文章主要为大家详细介绍了iOS动态自适应标签的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • iOS开发中苹果输入手机号变用户的名字

    iOS开发中苹果输入手机号变用户的名字

    今天我们的用户输入手机号之后变成了用户的名字,没办法获取验证码,因为手机格式不对。下面通过本文给大家分享开发中苹果输入手机号变用户的名字,需要的朋友可以参考下
    2017-05-05
  • iOS开发中UITableview控件的基本使用及性能优化方法

    iOS开发中UITableview控件的基本使用及性能优化方法

    这篇文章主要介绍了iOS开发中UITableview控件的基本使用及性能优化方法,代码基于传统的Objective-C,需要的朋友可以参考下
    2015-12-12
  • iOS动态调整UILabel高度的几种方法

    iOS动态调整UILabel高度的几种方法

    在iOS编程中UILabel是一个常用的控件,下面这篇文章主要给大家介绍了关于iOS动态调整UILabel高度的几种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-12-12
  • iOS登录时验证手机号与倒计时发送验证码问题详解

    iOS登录时验证手机号与倒计时发送验证码问题详解

    这篇文章主要给大家介绍了关于iOS登录时验证手机号与倒计时发送验证码问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2019-01-01
  • iOS如何为导航栏添加播放动画

    iOS如何为导航栏添加播放动画

    这篇文章主要为大家详细介绍了iOS如何为导航栏添加播放动画的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 10个非常实用的iOS小技巧

    10个非常实用的iOS小技巧

    这篇文章主要为大家详细介绍了10个非常实用的iOS小技巧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03

最新评论