做一个简单的定时器

我的实现方法是,创建一个按钮,并在按钮下方添加一个label,当点击按钮的时候,按钮隐藏,实时改变label的text显示文字,当计时器为零的时候,按钮显示出来。(为什么不直接用按钮来改变现实文字呢?因为按钮=改变文字的时候,会造成一闪一闪的情况)

首先需要4个属性

UILabel *yanzhengLabel;                // 倒计时label

int time;                          // 倒计时时间

NSTimer *timer;                    // 计时器

UIButton *yanzhengBtn;            // 验证按钮

然后在验证按钮的点击方法中设置定时器:

-(void)yanzhengBtnClicked:(UIButton *)sender{

time = 60;

timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(coderSend) userInfo:nil repeats:YES];

sender.hidden = YES;

}

接下来设置计时器

#pragma mark 计时器

- (void)coderSend {

time --; //    当定时器为0的时候,触发的事件

if (time == 0) { //      关闭定时器

[timer setFireDate:[NSDate distantFuture]];

yanzheng.text = @"60秒后获取";

yanzhengBtn.hidden = NO;

}//    coder显示文字

NSString *num = [NSString stringWithFormat:@"%d",time];

NSString *timeStr = [NSString stringWithFormat:@

"%@秒后获取",num];

yanzheng.text = timeStr;

}

这样一个简单的计时器就做好了!

你可能感兴趣的:(做一个简单的定时器)