zoukankan      html  css  js  c++  java
  • 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];
        
    }

  • 相关阅读:
    a Makefile
    Fedora的一些个人配置
    开机默认命令行
    挂载iso文件
    Vi不显示insert
    beego 框架基本使用 && 知识点整理
    kafka的安装及使用(单节点)
    Go 实现短 url 项目
    晓看天色暮看云,铁马冰河入梦来
    Go net/http,web server
  • 原文地址:https://www.cnblogs.com/thbbsky/p/4250117.html
Copyright © 2011-2022 走看看