做一個簡單的定時器

我的實現方法是,創建一個按鈕,并在按鈕下方添加一個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;

}

這樣一個簡單的計時器就做好了!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容