基于 MBProgressHUD 封装的扩展

MBProgressHUD+WJExtension

GitHub 地址:https://github.com/WJCha/MBProgressHUD-WJExtension

基于 MBProgressHUD 的封装,方便使用,并增加了操作成功与失败的HUD动画。

效果演示

使用过程中可以不显示下方的文字。比如加载进度条,可以不显示文字信息,只显示加载控件。Demo 只是其中的一个演示而已。主要方法请参考MBProgressHUD+WJExtension.h头文件

demo.gif

安装

  • 一、可以下载当前项目,将项目中的MBProgressHUD+WJExtension文件夹拖入您的工程中即可

  • 二、通过 Cocoapods方式:pod 'MBProgressHUD+WJExtension'

开始使用

  • 导入头文件
#import "MBProgressHUD+WJExtension.h"
  • 根据需求展示各式的 HUD

    • 详细的方法列表请查看MBProgressHUD+WJExtension.h头文件

      方法列表如下:

  • Snip20170607_1.png

加载进度的HUD使用说明

以开扇型类型的加载进度为例:

可使用的方法列表如下:

/**
 扇形饼状加载进度
 
 @return MBProgressHUD对象,可以通过它调用MBProgressHUD中的方法
 */
+ (instancetype)wj_showDeterminateLoading:(nullable NSString *)message
                                   toView:(nullable UIView *)view;

/**
 只显示扇形饼状加载进度指示器,不显示文本消息

 @return MBProgressHUD对象,可以通过它调用MBProgressHUD中的方法
 */
+ (instancetype)wj_showDeterminateLoading;

/**
 加载进度的HUD,设置HUD的progress请通过 HUD 对象调用 showAnimated: whileExecutingBlock: 等方法
 
 @param style 进度条样式(横条、环形、开扇型三种)
 @param message 消息正文,传nil不显示
 @param view 展示的View
 @return MBProgressHUD对象,可以通过它调用MBProgressHUD中的方法
 */
+ (instancetype)wj_showLoadingStyle:(WJHUDLoadingProgressStyle)style
                            message:(nullable NSString *)message
                             toView:(nullable UIView *)view;

+ (instancetype)wj_showLoadingStyle:(WJHUDLoadingProgressStyle)style toView:(nullable UIView *)view;

+ (instancetype)wj_showLoadingStyle:(WJHUDLoadingProgressStyle)style;

可以注意到,每个方法的调用都会将 MBProgressHUD对象返回出来。我们可以通过返回回来的对象去调用 MBProgressHUD 中的属性。比如 progress,以便我们去设置加载进度....。如以下举例:

// 展示HUD
MBProgressHUD *hud = [MBProgressHUD wj_showLoadingStyle:WJHUDLoadingProgressStyleDeterminate message:@"正在加载..." toView:nil];
        
        // 在获取到进度信息的地方设置HUD的progress,这里只是一个模拟
        [hud showAnimated:YES whileExecutingBlock:^{
            float progress = 0.0f;
            while (progress < 1.0f) {
                hud.progress = progress;
                hud.labelText = [NSString stringWithFormat:@"正在加载...%.0f%%", progress * 100];
                progress += 0.01f;
                usleep(50000);
            }
        } completionBlock:^{
            [MBProgressHUD wj_hideHUD];
        }];
  • 详细案例请查看demo

自定义View须知

本扩展是基于 MBProgressHUD封装,自定义的View指的是如下图中的红框部分。自定义的View将显示在红框那个位置

Snip20170607_2.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,267评论 4 61
  • 二 是亲爸啊 陆缕是真饿了,一溜烟跑回家对着她爸陆明韩大声囔囔,吵着要吃她爸的拿手菜荔枝肉。陆明韩二话不说就开始炸...
    见字不如面阅读 218评论 0 1
  • 2017-05-22 每个人都有三个钱包,分别是消费、投机和投资。使用好这三个钱包,会让你变得更好! 聪明消费 消...
    一粟于海阅读 373评论 0 4
  • 深信定律 人如果真正深信某件事会发生,不管是善是恶、是好是坏,这件事就很可能会发生在这个人身上。 一个人深信积极的...
    0623be6a9f38阅读 337评论 0 0