倒計時按鈕

//倒計時async

- (void) reciprocal {spa

    //按鈕倒計時orm

     __block NSInteger timeOut = 60;//倒計時時間ip

    

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);ci

    dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);get

    dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), 1*NSEC_PER_SEC, 0);//每秒執行string

 

    dispatch_source_set_event_handler(_timer, ^{it

        if (timeOut <= 0) {io

            dispatch_source_cancel(_timer);event

            dispatch_async(dispatch_get_main_queue(), ^{

                //設置時間

                [self.getCodeBtn setTitle:@"獲取驗證碼" forState:UIControlStateNormal];

                self.getCodeBtn.userInteractionEnabled = true;

            });

        } else {

            NSString  *strTime = [NSString stringWithFormat:@"%ld 秒",(long)timeOut];

            dispatch_async(dispatch_get_main_queue(), ^{

                [self.getCodeBtn setTitle:strTime forState:UIControlStateNormal];

            });

            timeOut--;

        }

    });

    dispatch_resume(_timer);

}

相關文章
相關標籤/搜索