// 通过输入手机号 填写回复验证码登录(计时器)
// 定义属性 yanZhengbutton, 设置button标题,点击事件 yanZheng:
_yanZhengbutton = [[UIButton alloc] initWithFrame:CGRectMake(_maTextField.frame.origin.x + _maTextField.frame.size.width + 5, _maTextField.frame.origin.y, 100, 40)];
[_yanZhengbutton setTitle:@"获取验证码" forState:UIControlStateNormal];
[_yanZhengbutton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_yanZhengbutton.layer.masksToBounds = YES;
_yanZhengbutton.layer.cornerRadius = 5;
_yanZhengbutton.backgroundColor = [UIColor colorWithRed:51/255.f green:119/255.f blue:246/255.f alpha:1];
[_yanZhengbutton addTarget:self action:@selector(yanZheng:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_yanZhengbutton];
// 属性second(assign)
self.second = 60;
// 点击事件 方法
- (void)yanZheng:(id)sender {
// self.yanZhengbutton 改变
[self.yanZhengbutton setTitle:@"60s" forState:UIControlStateNormal];
[self.yanZhengbutton setUserInteractionEnabled:NO];
[self.yanZhengbutton setBackgroundColor:[UIColor lightGrayColor]];
// 计时器
self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(secondAction) userInfo:nil repeats:YES];
}
- (void)secondAction
{
self.second = self.second - 1;
[self.yanZhengbutton setTitle:[NSString stringWithFormat:@"%lds", (long)self.second] forState:UIControlStateNormal];
if (self.second == 0) {
// 当second为0时, 停止计时
[self.timer invalidate];
// self.yanZhengbutton 改变
[self.yanZhengbutton setUserInteractionEnabled:YES];
_yanZhengbutton.backgroundColor = [UIColor colorWithRed:51/255.f green:119/255.f blue:246/255.f alpha:1];
[self.yanZhengbutton setTitle:@"获取验证码" forState:UIControlStateNormal];
// 重置second 60
self.second = 60;
}
}