self.views = [UIButton new]
self.views.backgroundColor = [UIColor redColor]
[self.views addTarget:self action:@selector(viewsClick:) forControlEvents:UIControlEventTouchUpInside]
[self.views setTitle:@"获取验证码" forState:UIControlStateNormal]
[self.view addSubview:self.views]
[self.views mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(self.view)
make.size.mas_equalTo(CGSizeMake(200, 40))
}]
- (void)viewsClick:(UIButton*)button {
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(reduceTime:) userInfo:nil repeats:YES];
timeCount = 30;
}
- (void)reduceTime:(NSTimer *)codeTimer {
timeCount--;
if (timeCount == 0) {
[self.views setTitle:@"重新获取验证码" forState:UIControlStateNormal];
[self.views setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
UIButton *info = codeTimer.userInfo;
info.enabled = YES;
self.views.userInteractionEnabled = YES;
[timer invalidate];
} else {
NSString *str = [NSString stringWithFormat:@"%lu秒后重新获取", (long)timeCount];
[self.views setTitle:str forState:UIControlStateNormal];
self.views.userInteractionEnabled = NO;
}
}