DMProgressHUD 方案1:CocoaPods方案2:直接导入到工程1.Loading Mode2.Progress Mode3.Status Mode4.Text Mode5.Custom Mode iOS进度加载提示工具

程序名称:DMProgressHUD 方案1:CocoaPods方案2:直接导入到工程1.Loading Mode2.Progress Mode3.Status Mode4.Text Mode5.Custom Mode

授权协议: MIT

操作系统: iOS

开发语言: Objective-C

DMProgressHUD 方案1:CocoaPods方案2:直接导入到工程1.Loading Mode2.Progress Mode3.Status Mode4.Text Mode5.Custom Mode 介绍

一、简介

DMProgressHUD是一款用于显示异步操作任务进度状态的视图工具。
该工具包含了目前较为主流的加载状态视图类型,后续会根据具体情况或需求进行迭代。
DMProgressHUD从设计层次的角度来看,其包含了5种展示模式:

  1. Loading(加载中相关);

  2. Progress(进度具体值相关);

  3. Status(状态相关,例如成功、失败等提示);

  4. Text(文字提示相关);

  5. Custom(自定义视图相关)。

二、导入(Platform : ios >= 8.0)

方案1:CocoaPods

  1. 在Podfile文件加入 pod 'DMProgressHUD';

  2. 在终端输入 pod install;

  3. 在需要使用的地方导入头文件 #import <DMProgressHUD.h>。

方案2:直接导入到工程

  1. 把DMProgressHUD.h、DMProgressHUD.m和DMProgressImgs.bundle(图片资源bundle)导入到工程目录下;

  2. 在需要使用的地方导入头文件 #import "DMProgressHUD.h"。

三、快捷调用

注意:快捷调用使用默认的样式(Style-Dark)、动画(Animation-gradient)、遮盖(Mask-None)。

1.Loading Mode

1.1 Loading-Indicator

loading_indicator.gif

    DMProgressHUD *hud = [DMProgressHUD showLoadingHUDAddedTo:self.view];
    //hud.loadingType = DMProgressHUDLoadingTypeIndicator;//默认
    hud.text = @"Here's info";
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

1.2 Loading-Circle

loading_circle_.gif

    DMProgressHUD *hud = [DMProgressHUD showLoadingHUDAddedTo:self.view];
    hud.loadingType = DMProgressHUDLoadingTypeCircle;
    hud.text = @"Here's info";
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

2.Progress Mode

2.1 Progress-Circle

progress_circle.gif

    DMProgressHUD *hud = [DMProgressHUD showProgressHUDAddedTo:self.view];
    //hud.progressType = DMProgressHUDProgressTypeCircle;//默认
    hud.text = @"Here's info";
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

2.2 Progress-Sector

progress_sector.gif

    DMProgressHUD *hud = [DMProgressHUD showProgressHUDAddedTo:self.view];
    hud.progressType = DMProgressHUDProgressTypeSector;
    hud.text = @"Here's info";
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

3.Status Mode

3.1 Success

status_success.gif

    DMProgressHUD *hud = [DMProgressHUD showStatusHUDAddedTo:self.view statusType:DMProgressHUDStatusTypeSuccess];
    hud.text = @"Here's info";
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

3.2 Fail

status_fail.gif

    DMProgressHUD *hud = [DMProgressHUD showStatusHUDAddedTo:self.view statusType:DMProgressHUDStatusTypeFail];
    hud.text = @"Here's info";
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

3.3 Warning

status_warning.gif

    DMProgressHUD *hud = [DMProgressHUD showStatusHUDAddedTo:self.view statusType:DMProgressHUDStatusTypeWarning];
    hud.text = @"Here's info";
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

4.Text Mode

4.1 Text

text.gif

    DMProgressHUD *hud = [DMProgressHUD showTextHUDAddedTo:self.view];
    hud.text = @"Here's info";
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

5.Custom Mode

5.1 Custom

custom.gif

    DMProgressHUD *hud = [DMProgressHUD showHUDAddedTo:self.view];
    hud.mode = DMProgressHUDModeCustom;//指定模式为自定义模式
    hud.text = @"Here's info";
    UIView *custom = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"person"]];
    [hud setCustomView:custom width:180.0 height:180.0];//自定义View
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //异步耗时操作
        [self doSomething];
        
        dispatch_async(dispatch_get_main_queue(), ^{
            //返回主线程隐藏HUD
            [hud dismiss];
        });
    });

四、更多

  1. 关于调用 :DMProgressHUD为调用者提供了快捷调用的方法,另外还提供了一些与额外功能相关的初始化方法供调用者使用;

  2. 关于外观 :DMProgressHUD提供两种外观样式,对应分别是Dark/Light;

  3. 关于动画 :DMProgressHUD默认使用颜色渐变(alpha)动画进行显示/隐藏,另外还有增量式动画和弹性动画供使用者选择;

  4. 关于遮盖 :DMProgressHUD默认不使用遮盖,另外提供透明遮盖和灰色遮盖供使用者选择;

以上所列举关于DMProgressHUD的功能介绍,用户都可以 运行Demo 查看到相应的效果。除此之外,用户还可以对HUD的 图文间距、颜色等
进行自定义,可以在 DMProgressHUD.h 文件查看更多的API详细介绍。

由于时间仓促,本人技术水平有限,出现错误或疏漏之处请批评指正,也可以在下方留言或发送Email至damonmok1216@gmail.com

Github地址:DMProgressHUD

DMProgressHUD 方案1:CocoaPods方案2:直接导入到工程1.Loading Mode2.Progress Mode3.Status Mode4.Text Mode5.Custom Mode 官网

http://www.jianshu.com/p/47a3e7f2a69c

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Acapela TTS 是一个为 iPhone 和 iPad 开发的 TTS 引擎。
二维码(QR Code)扫描静态库,扫描效率较高。
RegexKitLite 是一个轻量级的 Objective-C 的正则表达式库,支持 Mac OS X 和 iOS,使用ICU 库开发。
一款基于ASIHttpReques开源的仿迅雷多线程断点续传功能的客户端,内置了百度音乐盒、土豆视频下载,新手可以学习ASIHttpRequest网络请求下载、JSON解析等操作。
实现动态检测网络(wifi)状况,不需要用户手动刷新,便可通知用户网络状态的变化。支持ARC。
使用iphoneSDK官方NSXMLParserDelegate做的简单xml解析,附带详细注释以及使用到的方法的详细解释,非常适合新手参考。
GH-Unit 是一个基于Object C的测试框架,支持Mac OSX 10.5和iOS 3.0以上版本。它具有以下特点:
JSONKit 是用 Objective-C 实现的一个高性能的 JSON 解析和生成库,支持 iOS。 下面是性能比较:
TouchXML 是使用 Objective-C 编写的 XML 解析器,适合在 iOS 和 Mac 平台下使用。
每个操作系统都有对应的规则和标准,比如ios就是,在ios上,是无法使用动态链接库的,而只能使用静态链接库。
ObjectiveResource 是将 Rails 的 ActiveResource 框架移植到 Objective-C 的项目。其主要目的是让
TBXML是一个用于iOS上的解析速度非常快的轻量级XML解析库。提供了非常简洁的接口,使用起来很简单。
这是一套Google开发的DOM方式XML解析类库,支持读取和修改XML文档,支持XPath方式查询。
WhirlyGlobe 是一个在 iPad 和 iPhone 显示三维的地球的开发包。
ShareKit 是iPhone中一键分享文字,图片,链接,文件到Facebook, twitter, delicious, tumblr, google
实现 splash画面(launch image)到程序界面(root view controller)之间的翻页过渡动画效果。
iOS6推出的一个新特性是Passbook(关于Passbook,请看:http://www.apple.com/ios/ios6/#passbook
这是 iPhone 上实现 TTS 功能的开发包,基于 CMU’s Festival Lite ——FLite 引擎开发。
一个十分简单易用、界面十分简洁的日历代码效果,月份切换还有很不错的动画效果。
实现动态版本检查功能。用户打开app之后,进行app的版本更新检查。如果检查到有新的版本,则弹出对话框提醒用户下载新版本。支持ARC或者non-ARC。