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碎片笔记-倒计时)