我的實現(xiàn)方法是翁狐,創(chuàng)建一個按鈕,并在按鈕下方添加一個label凌蔬,當點擊按鈕的時候露懒,按鈕隱藏闯冷,實時改變label的text顯示文字,當計時器為零的時候懈词,按鈕顯示出來蛇耀。(為什么不直接用按鈕來改變現(xiàn)實文字呢?因為按鈕=改變文字的時候坎弯,會造成一閃一閃的情況)
首先需要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的時候纺涤,觸發(fā)的事件
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;
}
這樣一個簡單的計時器就做好了!