#import "ViewController.h"@interface ViewController (){ NSTimer *countDownTimer; int countDownTime;}@property (weak, nonatomic) IBOutlet UIButton *codeBtn;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}- (IBAction)getCodeBtnClick:(UIButton *)sender { [_codeBtn setEnabled:NO]; if (countDownTimer) { [countDownTimer invalidate]; countDownTimer=nil; } countDownTime=120; countDownTimer=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDown) userInfo:nil repeats:YES]; }-(void)countDown{ countDownTime--; if (countDownTime==0) { [countDownTimer invalidate]; countDownTimer=nil; [_codeBtn setEnabled:YES]; [_codeBtn setTitle:@"获取验证码" forState:UIControlStateNormal]; return; } NSString *count=[NSString stringWithFormat:@"%d",countDownTime]; NSMutableAttributedString *attributeString=[[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"剩余%@秒",count]]; [attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(2,count.length)]; [_codeBtn setAttributedTitle:attributeString forState:UIControlStateDisabled]; }