免费开源的iOS开发学习平台

MBProgressHUD:1-简介

MBProgressHUD是一个显示HUD窗口的第三方SDK。该SDK既可以用于给用户展示提示信息,也可以用于执行后台任务时,在程序中前台显示一个进度视图。

MBProgressHUD简介

我们可以在github上下载MBProgressHUD,其github的仓库地址为:https://github.com/jdg/MBProgressHUD。

在使用MBProgressHUD之前,我们先来了解一下MBProgressHUD的基本组成。一个MBProgressHUD视图主要由四个部分组成:

  • loading动画视图:loading的样式,可以是菊花、圆环、水平进度条,也可以是我们自定义的视图。

  • 标题文本框:主要用于显示提示信息。这个文本框是可选的,通常位于loading动画视图的下面,且它是单行显示的。

  • 详情文本框:如果有更多信息需要显示,就可以将详细信息放在这里显示。

  • HUD背景框:主要是用来突出上面三部分。

MBProgressHUD的安装方法

MBProgressHUD支持多种安装方法,包括CocoaPods、Carthage以及手工安装等,我们以CocoaPods为例。

  • 在工程的Podfile中,添加MBProgressHUD的配置。
pod 'MBProgressHUD', '~> 1.0.0'
  • 在终端运行pod install
cd [工程所在目录]
pod install

  • 在需要使用MBProgressHUD的类中,导入MBProgressHUD的头文件。
#import <MBProgressHUD.h>

MBProgressHUD常用属性与方法

MBProgressHUD使用起来十分简单,只需要掌握如下一些核心属性以及方法即可。

  • 实例化一个MBProgressHUD对象。实例化该对象后,会直接显示在指定的view上。
+ (instancetype)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
  • 隐藏一个MBProgressHUD对象
- (void)hideAnimated:(BOOL)animated;
  • 整体的显示样式。,
@property (assign, nonatomic) MBProgressHUDMode mode;

其中,MBProgressHUDMode包括了如下6种可选样式。

typedef NS_ENUM(NSInteger, MBProgressHUDMode) {
    MBProgressHUDModeIndeterminate,// 使用一个菊花图来显示进度,这是默认值
    MBProgressHUDModeDeterminate,//使用深色圆环作为进度视图
    MBProgressHUDModeDeterminateHorizontalBar,// 使用一个水平进度条
    MBProgressHUDModeAnnularDeterminate,// 使用浅色圆环作为进度视图
    MBProgressHUDModeCustomView, // 显示一个自定义视图
    MBProgressHUDModeText // 只显示文本
};
  • 标题文本框属性。可以通过设置其text属性来设置标题文本框的文字。
@property (strong, nonatomic, readonly) UILabel *label;
  • 详情文本框。可以通过设置其text属性来设置详情文本框的文字。
@property (strong, nonatomic, readonly) UILabel *detailsLabel;
  • 设置HUD显示和隐藏的动画类型。
@property (assign, nonatomic) MBProgressHUDAnimation animationType;

其中,MBProgressHUDAnimation类型包括如下的可选值。

typedef NS_ENUM(NSInteger, MBProgressHUDAnimation) {
    MBProgressHUDAnimationFade,//HUD逐渐显现之后逐渐隐藏
    MBProgressHUDAnimationZoom,//HUD出现时逐渐放大,隐藏时逐渐缩小。
    MBProgressHUDAnimationZoomOut,//HUD逐渐显现,隐藏时逐渐缩小
    MBProgressHUDAnimationZoomIn//HUD逐渐显现,隐藏时逐渐放大
};