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);

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

相关文章

  • iOS获取当前连接的wifi信息

    iOS获取当前连接的wifi信息

    这篇文章主要为大家详细介绍了iOS如何获取当前连接的wifi信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • iOS多级列表实现代码

    iOS多级列表实现代码

    这篇文章主要为大家详细介绍了iOS多级列表实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • iOS微信支付交互图分析

    iOS微信支付交互图分析

    这篇文章主要为大家详细分析了iOS微信支付交互图,针对微信支付的流程图进行解析,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • IOS 长链接与短链接之间的转换

    IOS 长链接与短链接之间的转换

    这篇文章主要介绍了IOS 长链接与短链接之间的转换的相关资料,需要的朋友可以参考下
    2017-06-06
  • 浅谈iOS应用中的相关正则及验证

    浅谈iOS应用中的相关正则及验证

    下面小编就为大家带来一篇浅谈iOS应用中的相关正则及验证。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • IOS开发中禁止NavigationController的向右滑动返回

    IOS开发中禁止NavigationController的向右滑动返回

    这篇文章主要介绍了IOS开发中禁止NavigationController的向右滑动返回的相关资料,需要的朋友可以参考下
    2017-03-03
  • iOS开发中Date Picker和UITool Bar控件的使用简介

    iOS开发中Date Picker和UITool Bar控件的使用简介

    这篇文章主要介绍了iOS开发中Date Picker和UITool Bar控件的使用简介,代码基于传统的Objective-C,需要的朋友可以参考下
    2016-01-01
  • IOS-MVC层读取服务器接口JSON数据

    IOS-MVC层读取服务器接口JSON数据

    这篇文章主要为大家详细介绍了IOS-MVC层读取服务器接口JSON数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • iOS去除Webview键盘顶部工具栏的方法

    iOS去除Webview键盘顶部工具栏的方法

    这篇文章主要给大家介绍了关于iOS去除Webview键盘顶部工具栏的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • iOS中多网络请求的线程安全详解

    iOS中多网络请求的线程安全详解

    这篇文章主要给大家介绍了关于iOS中多网络请求的线程安全的相关资料文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10

最新评论