时间倒叙

#pragma mark - 倒计时

- (void)timeCountDown

{

__block int timeout = 59; //倒计时时间

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t _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(), ^{

//设置界面的按钮显示 根据自己需求设置

_gainVerificationButton.userInteractionEnabled = YES;

_gainVerificationButton.backgroundColor = [UIColor lightGrayColor];

[_gainVerificationButton setTitle:@"获取验证码" forState:UIControlStateNormal];

});

}else{

int seconds = timeout % 60;

NSString *strTime = [NSString stringWithFormat:@"%d秒后重发", seconds];

dispatch_async(dispatch_get_main_queue(), ^{

_gainVerificationButton.userInteractionEnabled = NO;

_gainVerificationButton.backgroundColor = [UIColor lightGrayColor];

//设置界面的按钮显示 根据自己需求设置

[_gainVerificationButton setTitle:strTime forState:UIControlStateNormal];

});

timeout—;

}

});

dispatch_resume(_timer);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.NSString过滤特殊字符串定义一个特殊字符的集合NSCharacterSet set = [NSChara...
    奋拓达阅读 906评论 0 0
  • 打印View所有子视图 layoutSubviews调用的调用时机 当视图第一次显示的时候会被调用当这个视图显示到...
    hyeeyh阅读 578评论 0 3
  • 转载自:http://www.jianshu.com/p/4ac227e763fa GCD Grand Centr...
    龙战九野阅读 329评论 0 0
  • 目录(GCD): 关键词 混淆点 场景应用 总结 1. 关键词 线程概念: 独立执行的代码段,一个线程同时间只能执...
    Ryan___阅读 1,353评论 0 3
  • 有些人来到这个世界 是为了成为一个好丈夫好妻子 是为了成为一个好爸爸好妈妈 就像别人期待的那样 有些人来到这个世界...
    路雨飞飞阅读 238评论 0 2

友情链接更多精彩内容