IOS button countdown function, it is recommended to change the button to label, which will avoid the blink of the second reading
1__blockintTime = -;2__block UIButton *verifybutton =_getverificationbtn;3verifybutton.enabled =NO;4dispatch_queue_t queue = Dispatch_get_global_queue (Dispatch_queue_priority_default,0);5dispatch_source_t _timer = dispatch_source_create (Dispatch_source_type_timer,0,0, queue);6Dispatch_source_set_timer (_timer,dispatch_walltime (NULL,0),1.0*nsec_per_sec,0);//executes per second7Dispatch_source_set_event_handler (_timer, ^{8 if(time<=0){//countdown end, close9 Dispatch_source_cancel (_timer);TenDispatch_async (Dispatch_get_main_queue (), ^{ One //set the interface button to display the settings according to your needs A[Verifybutton Settitle:@"Get Verification Code"Forstate:uicontrolstatenormal]; -verifybutton.enabled =YES; - }); the}Else{ -Dispatch_async (Dispatch_get_main_queue (), ^{ - //set the interface button to display the settings according to your needs -Verifybutton.backgroundcolor =[Uicolor Graycolor]; +NSString *strtime = [NSString stringWithFormat:@"Get Verification Code (%d)", time]; - [Verifybutton settitle:strtime forstate:uicontrolstatenormal]; +Verifybutton.titleLabel.textColor =[Uicolor Whitecolor]; A }); attime--; - } - }); -Dispatch_resume (_timer);
IOS Button Countdown function