iOS 第三方库 - MBProgressHUD

这篇博客介绍了iOS开发中第三方库MBProgressHUD的使用步骤,包括下载并导入库,使用HUD进行主线程与子线程任务处理,以及如何配置和更新HUD。同时,文章涵盖了基本属性、代码示例和总结。

https://github.com/jdg/MBProgressHUD
这里写图片描述

一、使用步骤

1.下载MBProgressHUD,导入工程。

2.在需要的地方导入头文件。

#import <MBProgressHUD/MBProgressHUD.h>

3.使用HUD

(1)主线程让HUD旋转,开启子线程处理长时间的任务。

[MBProgressHUD showHUDAddedTo:self.view animated:YES];
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
    // Do something...dispatch_async(dispatch_get_main_queue(), ^{
        [MBProgressHUD hideHUDForView:self.view animated:YES];
    });
});

(2)当你想配置HUD的时候,你可以配置这个方法showHUDAddedTo:animated:返回的示例。

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.mode = MBProgressHUDModeAnnularDeterminate;
hud.labelText = @"Loading";
[selfdoSomethingInBackgroundWithProgressCallback:^(float progress) {
    hud.progress = progress;
} completionCallback:^{
    [hud hide:YES];
}];

UI的更新需要在主线程。然而一些MBProgressHUD访问器考虑到线程安全可以被后台线程调用。这些访问器包括

setMode:,setCustomView:,setLabelText:,setLabelFont:,setDetailsLabelText:, setDetailsLabelFont: and setProgress:。

(3)如果你需要在主线程中运行你的长时间任务,你应该稍微延迟一些运行这任务,这样UIKit在阻碍你主线程的任务前将会有足够的时间来更新UI。

[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){
    // Do something...
    [MBProgressHUD hideHUDForView:self.view animated:YES];
});

你要知道任何在block中的HUD更新,直到block完成才会显示。看更多的异步任务中HUD显示的Demo,看头文件中的API文档。

二、基本属性

三、代码示例

四、总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值