标签:style class blog http tar com
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
_timeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_timeBtn setBackgroundImage:[UIImage imageNamed:@"short2_apply_btn_disable"] forState:UIControlStateNormal];
[_timeBtn setBackgroundImage:[UIImage imageNamed:@"short2_apply_btn_over"] forState:UIControlStateHighlighted];
[_timeBtn setTitle:@"发送验证码" forState:UIControlStateNormal];
_timeBtn.frame = CGRectMake(100, 100, 150, 30);
[_timeBtn addTarget:self action:@selector(starTime) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_timeBtn];
}
- (void)starTime
{
__block NSInteger timeout = 60; // 倒计时时间
dispatch_queue_t queue = 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_TIME_NOW, 1 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);
dispatch_source_set_event_handler(timer, ^{
if (timeout <= 0 ) {
dispatch_source_cancel(timer);
dispatch_async(dispatch_get_main_queue(), ^{
[_timeBtn setTitle:@"发送验证码" forState:UIControlStateNormal];
_timeBtn.userInteractionEnabled = YES;
});
}else{
NSInteger seconds = timeout % 60;
NSString *strTime = [NSString stringWithFormat:@"%.2d",seconds];
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"___%@",strTime);
[_timeBtn setTitle:[NSString stringWithFormat:@"%@秒后重新发送",strTime] forState:UIControlStateNormal];
_timeBtn.userInteractionEnabled = NO;
});
}
timeout-- ;
});
dispatch_resume(timer);
}


标签:style class blog http tar com
原文地址:http://www.cnblogs.com/wuwangchuxin/p/3796759.html