NSTimer定时器的用法

#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];

    

}

NSTimer定时器的用法

你可能感兴趣的:(timer)