- (void)start
{
_time = 60;
__block CountdownButton *blockSelf = self;
if (_timer) {
_timer = nil;
}
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
self.enabled = NO;
blockSelf->_timer=[NSTimer scheduledTimerWithTimeInterval:1.0
target:blockSelf
selector:@selector(timeAction:)
userInfo:nil
repeats:YES] ;
[[NSRunLoop currentRunLoop] addTimer:blockSelf->_timer forMode:NSDefaultRunLoopMode];
[[NSRunLoop currentRunLoop] run];
});
}
- (void)timeAction:(NSTimer *)timer
{
--_time ;
NSString *timeStr = [NSString stringWithFormat:@"%d 秒后重发",_time];
[self setTitle:timeStr forState:UIControlStateDisabled];
if (_time == 0) {
[self stop];
}
}
- (void)stop
{
[_timer invalidate];
_timer = nil;
_time = 60;
self.enabled = YES;
[self setTitle:@"获取短信验证码" forState:UIControlStateNormal];
}