UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(100, 100, 100, 100);
button.backgroundColor = [UIColor purpleColor];
button.tag = 100;
[button setTitle:@"发送验证码" forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
self.number = 5;
}
- (void)buttonClick:(UIButton *)button
{
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:@"button倒计时" repeats:YES];
[timer fire];
button.userInteractionEnabled = NO;
}
- (void)timerAction:(NSTimer *)timer
{
UIButton *button = (UIButton *)[self.view viewWithTag:100];
NSString *buttonTitle = [NSString stringWithFormat:@"%ld",self.number--];
[button setTitle:buttonTitle forState:UIControlStateNormal];
if ([[button titleForState:UIControlStateNormal] isEqualToString:@"0"]) {
[timer invalidate];
[button setTitle:@"发送验证码" forState:UIControlStateNormal];
button.userInteractionEnabled = YES;
self.number = 5;
}