MBProgressHUD(0.9.1)

参考文档:
原博客
github源码

类似库:SVProgressHUD

详细介绍

一、样式(枚举 MBProgressHUDMode)

mode备注
MBProgressHUDModeIndeterminate默认, UIActivityIndicatorView(菊花)
MBProgressHUDModeDeterminate圆饼图
MBProgressHUDModeDeterminateHorizontalBar水平进度条
MBProgressHUDModeAnnularDeterminate圆环
MBProgressHUDModeCustomView自定义视图
MBProgressHUDModeText文本

二、组成(4部分)
1、背景

// 背景框的透明度,默认值是0.8
@property (assign) float opacity;

// 背景框的颜色
// 需要注意的是如果设置了这个属性,则opacity属性会失效,即不会有半透明效果
@property (MB_STRONG) UIColor *color;

// 背景框的圆角半径。默认值是10.0
@property (assign) float cornerRadius;

2、动画

// 菊花的颜色,默认是白色
@property (MB_STRONG) UIColor *activityIndicatorColor;

3、标题

// 标题文本的字体及颜色
@property (MB_STRONG) UIFont* labelFont;
@property (MB_STRONG) UIColor* labelColor;

4、详情

// 详情文本的字体及颜色
@property (MB_STRONG) UIFont* detailsLabelFont;
@property (MB_STRONG) UIColor* detailsLabelColor;

三、补充

//整个窗口使用渐变色(色值是写死的,不能修改)
@property (assign) BOOL dimBackground;

使用

一、初始化

- (id)initWithWindow:(UIWindow *)window;

- (id)initWithView:(UIView *)view;

注:这里的 window 和 view 只用来设置 HUD 的 frame,添加到视图上还是要我们手动添加。

二、布局设置

// HUD相对于父视图中心点的x轴偏移量和y轴偏移量
@property (assign) float xOffset;
@property (assign) float yOffset;

// HUD各元素与HUD边缘的间距
@property (assign) float margin;

// HUD背景框的最小大小
@property (assign) CGSize minSize;

// HUD的实际大小
@property (atomic, assign, readonly) CGSize size;

// 是否强制HUD背景框宽高相等
@property (assign, getter = isSquare) BOOL square;

注:HUD 填满父控件,屏蔽父控件的所有操作。

三、属性设置
1、mode设置

2、隐藏与显示有关的属性

// HUD显示和隐藏的动画类型
@property (assign) MBProgressHUDAnimation animationType;

// HUD显示的最短时间。设置这个值是为了避免HUD显示后立即被隐藏。默认值为0
@property (assign) float minShowTime;

// 这个属性设置了一个宽限期,它是在没有显示HUD窗口前被调用方法可能运行的时间。
// 如果被调用方法在宽限期内执行完,则HUD不会被显示。
// 这主要是为了避免在执行很短的任务时,去显示一个HUD窗口。
// 默认值是0。只有当任务状态是已知时,才支持宽限期。具体我们看实现代码。
@property (assign) float graceTime;


// 这是一个标识位,标明执行的操作正在处理中。这个属性是配合graceTime使用的。
// 如果没有设置graceTime,则这个标识是没有太大意义的。在使用showWhileExecuting:onTarget:withObject:animated:方法时,
// 会自动去设置这个属性为YES,其它情况下都需要我们自己手动设置。
@property (assign) BOOL taskInProgress;
// 隐藏时是否将HUD从父视图中移除,默认是NO。
@property (assign) BOOL removeFromSuperViewOnHide;

// 进度指示器,从0.0到1.0,默认值为0.0
@property (assign) float progress;

// 在HUD被隐藏后的回调
@property (copy) MBProgressHUDCompletionBlock completionBlock;

四、方法
1、显示与隐藏有关的方法

//执行后台任务时显示 HUD,后台任务完成后隐藏 HUD
- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated;

//基于 GCD 的调用,显示 HUD,任务完成之后执行 completion,最后隐藏 HUD
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
     completionBlock:(MBProgressHUDCompletionBlock)completion;

//隐藏
- (void)hide:(BOOL)animated;

//
- (void)hide:(BOOL)animated afterDelay:


+ (MB_INSTANCETYPE)showHUDAddedTo:(UIView *)view animated:(BOOL)animated

+ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated

+ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated

五、代理(MBProgressHUDDelegate)

//在 HUD 隐藏后调用
- (void)hudWasHidden:(MBProgressHUD *)hud;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值