• 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];
        
    }

  • 相关阅读:
    uva 10986
    sed命令详解及应用实例
    JavaScript弹出层
    eclipspe导入hibernate的源代码
    用eclipse查看JDK源代码
    Java设计模式之适配器模式(Adapter)
    Java计算程序运行时间
    Java的IO流各个类的使用原则
    Java的IO输入输出流类的介绍(有图)
    解惑:字、位、字节、字符、字符串。
  • 原文地址:https://www.cnblogs.com/thbbsky/p/4250117.html
Copyright © 2020-2023  润新知