iOS實(shí)現(xiàn)手機(jī)獲取驗(yàn)證碼倒計(jì)時(shí)效果
手機(jī)獲取驗(yàn)證碼的倒計(jì)時(shí)效果,實(shí)現(xiàn)很簡(jiǎn)單,附倒計(jì)時(shí)效果完整代碼
之前做項(xiàng)目使用的是NSTimer做的倒計(jì)時(shí)效果,效果不太好。今天學(xué)習(xí)了下用GCD做,效果還是不錯(cuò)的。
關(guān)鍵代碼如下:(完整代碼)
//創(chuàng)建一個(gè)全局并非隊(duì)列 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); //創(chuàng)建一個(gè)定時(shí)器 _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue); //配置定時(shí)器,每秒執(zhí)行 dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), 1.0 * NSEC_PER_SEC, 0); //創(chuàng)建事件處理器 dispatch_source_set_event_handler(_timer, ^{ timeout --; if (timeout <= 0) { //定時(shí)器結(jié)束,關(guān)閉 dispatch_source_cancel(_timer); _timer = nil; //回到主線程刷新UI dispatch_async(dispatch_get_main_queue(), ^{ [_btn setTitle:@"獲取驗(yàn)證碼" forState:UIControlStateNormal]; }); } else { //回到主線程刷新UI dispatch_async(dispatch_get_main_queue(), ^{ [_btn setTitle:[NSString stringWithFormat:@"%ds后重新獲取",timeout] forState:UIControlStateNormal]; }); } }); //啟動(dòng)定時(shí)器 dispatch_resume(_timer);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- IOS實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)功能(一)
- iOS獲取短信驗(yàn)證碼倒計(jì)時(shí)的兩種實(shí)現(xiàn)方法
- Swift實(shí)現(xiàn)iOS應(yīng)用中短信驗(yàn)證碼倒計(jì)時(shí)功能的實(shí)例分享
- IOS實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)功能(二)
- iOS 驗(yàn)證碼按鈕倒計(jì)時(shí)功能
- iOS獲取驗(yàn)證碼倒計(jì)時(shí)效果
- iOS發(fā)送驗(yàn)證碼倒計(jì)時(shí)應(yīng)用
- iOS實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)
- iOS登錄時(shí)驗(yàn)證手機(jī)號(hào)與倒計(jì)時(shí)發(fā)送驗(yàn)證碼問(wèn)題詳解
相關(guān)文章
IOS動(dòng)畫(huà)效果源代碼整理(粒子、雪花、火焰、河流、蒸汽)
本篇文章給大家整理的IOS的關(guān)于動(dòng)畫(huà)的效果代碼整理,很多效果非常的好看,有興趣的學(xué)下。2018-01-01iOS實(shí)現(xiàn)動(dòng)態(tài)自適應(yīng)標(biāo)簽
這篇文章主要為大家詳細(xì)介紹了iOS動(dòng)態(tài)自適應(yīng)標(biāo)簽的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03iOS開(kāi)發(fā)中蘋(píng)果輸入手機(jī)號(hào)變用戶的名字
今天我們的用戶輸入手機(jī)號(hào)之后變成了用戶的名字,沒(méi)辦法獲取驗(yàn)證碼,因?yàn)槭謾C(jī)格式不對(duì)。下面通過(guò)本文給大家分享開(kāi)發(fā)中蘋(píng)果輸入手機(jī)號(hào)變用戶的名字,需要的朋友可以參考下2017-05-05iOS開(kāi)發(fā)中UITableview控件的基本使用及性能優(yōu)化方法
這篇文章主要介紹了iOS開(kāi)發(fā)中UITableview控件的基本使用及性能優(yōu)化方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-12-12iOS動(dòng)態(tài)調(diào)整UILabel高度的幾種方法
在iOS編程中UILabel是一個(gè)常用的控件,下面這篇文章主要給大家介紹了關(guān)于iOS動(dòng)態(tài)調(diào)整UILabel高度的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12iOS登錄時(shí)驗(yàn)證手機(jī)號(hào)與倒計(jì)時(shí)發(fā)送驗(yàn)證碼問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于iOS登錄時(shí)驗(yàn)證手機(jī)號(hào)與倒計(jì)時(shí)發(fā)送驗(yàn)證碼問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2019-01-01iOS如何為導(dǎo)航欄添加播放動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了iOS如何為導(dǎo)航欄添加播放動(dòng)畫(huà)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10