1?讓SVPRogressHUD提示框自動(dòng)消失
// 延遲2秒后消失
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{ [SVProgressHUD dismiss];});
2?正確創(chuàng)建dispatch_time_t
用dispatch_after的時(shí)候就會(huì)用到dispatch_time_t變量,但是如何創(chuàng)建合適的時(shí)間呢?答案就是用dispatch_time函數(shù),其原型如下:
| 1 | dispatch_time_t dispatch_time ( dispatch_time_t when, int64_t delta ); |
第一個(gè)參數(shù)一般是DISPATCH_TIME_NOW,表示從現(xiàn)在開(kāi)始。
那么第二個(gè)參數(shù)就是真正的延時(shí)的具體時(shí)間。
這里要特別注意的是,delta參數(shù)是“納秒!”,就是說(shuō),延時(shí)1秒的話,delta應(yīng)該是“1000000000”=。=,太長(zhǎng)了,所以理所當(dāng)然系統(tǒng)提供了常量,如下:
| 123 | #define NSEC_PER_SEC 1000000000ull#define USEC_PER_SEC 1000000ull#define NSEC_PER_USEC 1000ull |
關(guān)鍵詞解釋:
NSEC:納秒。
USEC:微妙。
SEC:秒
PER:每
所以:
NSEC_PER_SEC,每秒有多少納秒。
USEC_PER_SEC,每秒有多少毫秒。(注意是指在納秒的基礎(chǔ)上)
NSEC_PER_USEC,每毫秒有多少納秒。
所以,延時(shí)1秒可以寫(xiě)成如下幾種:
dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC);
dispatch_time(DISPATCH_TIME_NOW, 1000 * USEC_PER_SEC);
dispatch_time(DISPATCH_TIME_NOW, USEC_PER_SEC * NSEC_PER_USEC);
最后一個(gè)“USEC_PER_SEC * NSEC_PER_USEC”,翻譯過(guò)來(lái)就是“每秒的毫秒數(shù)乘以每毫秒的納秒數(shù)”,也就是“每秒的納秒數(shù)”,所以,延時(shí)500毫秒之類的,也就不難了吧~
3?iOS:tableView的類型改為Grouped組頭出現(xiàn)默認(rèn)的高度-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 0.1;}新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注