iOS碎片笔记-倒计时
发送验证码计时方法:
- (IBAction)didClickCountDownBtn:(id)sender{
STLog(@"简述");
__blockinttimeout=59; //倒计时时间
dispatch_queue_tqueue=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(),^{
//设置界面的按钮显示 根据自己需求设置
self.countDownBtn.userInteractionEnabled=YES;
[self.countDownBtn setTitle:@"获取验证码"forState:UIControlStateNormal];
});
}else{
intseconds=timeout%60;
__blockNSString*strTime=[NSStringstringWithFormat:@"%.2d",seconds];
dispatch_async(dispatch_get_main_queue(),^{
//设置界面的按钮显示 根据自己需求设置
self.countDownBtn.userInteractionEnabled=NO;
[self.countDownBtn setTitle:[NSStringstringWithFormat:@"重新发送%@s",strTime]forState:UIControlStateNormal];
});
timeout--;
}
});
dispatch_resume(_timer);
}
【iOS碎片笔记-倒计时】
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 2020-04-07vue中Axios的封装和API接口的管理
- Android中的AES加密-下
- iOS中的Block
- 【读书笔记】贝叶斯原理
- 【韩语学习】(韩语随堂笔记整理)
- 人性的弱点-笔记
- 读书笔记:博登海默法理学|读书笔记:博登海默法理学 —— 正义的探索(1)
- D034+3组苏曼+《写作这回事》读书笔记
- 《自我的追寻》读书笔记3