這篇文章主要介紹iOS如何實(shí)現(xiàn)手機(jī)獲取驗(yàn)證碼倒計(jì)時(shí)效果,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
站在用戶的角度思考問題,與客戶深入溝通,找到吳忠網(wǎng)站設(shè)計(jì)與吳忠網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋吳忠地區(qū)。
手機(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);
以上是“iOS如何實(shí)現(xiàn)手機(jī)獲取驗(yàn)證碼倒計(jì)時(shí)效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!