国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

MBProgressHUD優雅地去提示

2019-11-14 18:28:18
字體:
來源:轉載
供稿:網友

項目主頁: MBPRogressHUD

實例下載: 點擊下載

快速上手:

當執行需要較長時間的任務時,使用MBProgressHUD最重要的一點是: 保證主線程是空閑的,這樣可以使UI實時更新.因此: 建議在 主線程中使用 MBProgressHUD, 把其他你想要執行的任務放到其他的線程里:

[MBProgressHUD showHUDAddedTo:self.view animated:YES];dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{    // 執行某些任務...    dispatch_async(dispatch_get_main_queue(), ^{        [MBProgressHUD hideHUDForView:self.view animated:YES];    });});

如果你想配置 HUD,你可以使用由 showHUDAddedTo:animated: 方法返回的 MBProgressHUD 的實例.

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];hud.mode = MBProgressHUDModeAnnularDeterminate;hud.labelText = @"Loading";// doSomethngInBackgroudWithProgressCallback: 代指某個和進度有關的 自定義方法.[self doSomethingInBackgroundWithProgressCallback:^(float progress) {    hud.progress = progress;} completionCallback:^{    [hud hide:YES];}];

UI 更新,應該通常總是在主線程完成.但是某些 MBProgressHUD 設置器,考慮到了”線程安全”,并且可以在后臺線程里被調用.這些設置器,具體指的是: setMode:,setCustomView:setLabelText:setLabelFont:setDetailsLabelText:,setDetailsLabelFont: 和 setProgress:.

如果你需要在主線程執行需要長時間運行的任務,你應該在短暫的延遲后再執行這個任務,這樣在你的任務阻塞主線程之前, UIKit 就有足夠的時間來更新UI(如,繪制HUD).

[MBProgressHUD showHUDAddedTo:self.view animated:YES];dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC);dispatch_after(popTime, dispatch_get_main_queue(), ^(void){    // 執行某個 耗時較長的操作.    [MBProgressHUD hideHUDForView:self.view animated:YES];});

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 增城市| 兴国县| 巢湖市| 增城市| 铁岭县| 嘉定区| 柏乡县| 资中县| 黑龙江省| 轮台县| 平罗县| 曲阳县| 进贤县| 上杭县| 兰坪| 福贡县| 江安县| 郓城县| 峨边| 错那县| 壶关县| 太保市| 淮滨县| 呼伦贝尔市| 宿松县| 眉山市| 九龙城区| 太仓市| 遂昌县| 济宁市| 徐汇区| 盘山县| 八宿县| 龙泉市| 泾源县| 岳西县| 贵溪市| 宁南县| 东安县| 宝鸡市| 大理市|