博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SVProgressHUD--比MBProgressHUD更好用的 iOS进度提示组件
阅读量:7049 次
发布时间:2019-06-28

本文共 3311 字,大约阅读时间需要 11 分钟。

简介

SVProgressHUD

SVProgressHUD是简单易用的显示器,用于指示一个持续进行的任务的进度.

  • 项目主页:

  • 最新示例:

快速入门

安装

通过Cocoapods

pod 'SVProgressHUD'

手动安装

  • 拖拽 SVProgressHUD/SVProgressHUD 文件 到你的项目.

  • 注意把 SVProgressHUD.bundle 添加进 Targets->Build Phases->Copy Bundle Resources.

  • 添加 QuartzCore framework 到你的项目.

使用

(参见Xcode项目文档 /Demo)

SVProgressHUD 作为一个单例(也就是说,它并不需要创建和实例化,你直接调用, 如[SVProgressHUD method]).

使用 SVProgressHUD是非常明智的!常用场景:下拉刷新,无限滚动,发送消息

使用 SVProgressHUD在您的应用程序通常看起来简单:

[SVProgressHUD show];dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{    // time-consuming task    dispatch_async(dispatch_get_main_queue(), ^{        [SVProgressHUD dismiss];    });});

显示 HUD

您可以使用下面的方法中的任意一个来显示HUD,以及指示任务的状态:

+ (void)show;+ (void)showWithStatus:(NSString*)string;

如果您想在HUD指示任务的进度,请使用下列操作之一:

+ (void)showProgress:(CGFloat)progress;+ (void)showProgress:(CGFloat)progress status:(NSString*)status;

隐藏 HUD

HUD可以用以下方法隐藏:

+ (void)dismiss;+ (void)dismissWithDelay:(NSTimeInterval)delay;

如果你想显示多个HUD ,可以使用使用一下方法:

+ (void)popActivity;

该HUD将自动消失, popActivity将与显示的次数匹配。

显示一个提示消息

也可以用于显示一个提示信息。所述显示时间取决于给定的字符串的长度( 0.5至5秒)。

+ (void)showInfoWithStatus:(NSString *)string;+ (void)showSuccessWithStatus:(NSString*)string;+ (void)showErrorWithStatus:(NSString *)string;+ (void)showImage:(UIImage*)image status:(NSString*)string;

自定义

SVProgressHUD 可通过下列方法进行个性化定制:

+ (void)setDefaultStyle:(SVProgressHUDStyle)style;                  // 默认是SVProgressHUDStyleLight+ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType;         // 默认是SVProgressHUDMaskTypeNone+ (void)setDefaultAnimationType:(SVProgressHUDAnimationType)type;   // 默认是 SVProgressHUDAnimationTypeFlat+ (void)setRingThickness:(CGFloat)width;                            // 默认是 2 pt+ (void)setCornerRadius:(CGFloat)cornerRadius;                      // 默认是 14 pt+ (void)setFont:(UIFont*)font;                                      // 默认是 [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]+ (void)setForegroundColor:(UIColor*)color;                         // 默认是 [UIColor blackColor], 仅对 SVProgressHUDStyleCustom 有效+ (void)setBackgroundColor:(UIColor*)color;                         // 默认是 [UIColor whiteColor], 仅对 SVProgressHUDStyleCustom 有效+ (void)setInfoImage:(UIImage*)image;                               //默认是bundle文件夹中的提示图片.+ (void)setSuccessImage:(UIImage*)image;                            // 默认是bundle文件夹中的成功图片.+ (void)setErrorImage:(UIImage*)image;                              // 默认是bundle文件夹中的错误图片.+ (void)setViewForExtension:(UIView*)view;                          // 默认是nil,仅当设置了 #define SV_APP_EXTENSIONS 时有效.

通知

SVProgressHUD通过 NSNotificationCenter 注册4份通知,以响应正在显示/消失:

  • SVProgressHUDWillAppearNotification 提示框即将出现

  • SVProgressHUDDidAppearNotification 提示框已经出现

  • SVProgressHUDWillDisappearNotification 提示框即将消失

  • SVProgressHUDDidDisappearNotification 提示框已经消失

每个通知传递一个 userInfo字典,字典中包含HUD的状态字符串(如果有的话) ,可通过 SVProgressHUDStatusUserInfoKey作为键来获取。

SVProgressHUD还发送通知:

SVProgressHUDDidReceiveTouchEventNotification当用户触摸整体屏幕上 和
' SVProgressHUDDidTouchDownInsideNotification当用户直接在HUD接触。这两个通知没有 userInfo参数,但包含了有关的触摸的UIEvent` 参数.

App 扩展(App Extension)

当在应用程序中使用SVProgressHUD时, 要定义常量 #define SV_APP_EXTENSIONS避免使用不可用的API。然后从你的扩展视图控制器中通过self.view 调用 setViewForExtension: 即可。

注意: 此处指的是"App Extension",不是类目."File->New->Target...-> iOS -> App Extension->Photo Editing Extension". 如果未用到,可忽略. 更多细节参考:

转载地址:http://kjcol.baihongyu.com/

你可能感兴趣的文章
js判断微信内核浏览器
查看>>
199. Binary Tree Right Side View
查看>>
JS每日一题: 请简述一下vuex实现原理
查看>>
从 TodoList 中学父子组件通信
查看>>
Spring MVC常用客户端参数接收方式
查看>>
用koa开发一套内容管理系统(CMS),支持javascript和typescript双语言
查看>>
Promise面试题,控制异步流程
查看>>
css-从笔试题中看知识
查看>>
LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
查看>>
前嗅ForeSpider教程:数据浏览与可视化
查看>>
7个开放式的前端面试题
查看>>
dubbo源码解析(二十三)远程调用——Proxy
查看>>
图片无法加载的情况下的优化
查看>>
数据结构与算法 | Leetcode 141:Linked List Cycle
查看>>
推荐给新手的35个好用的Vue开源库
查看>>
简述原型链是什么,有什么用处?若想访问一个对象的原型,应该使用什么方法?...
查看>>
[LeetCode] 675. Cut Off Trees for Golf Event
查看>>
SQLServer之锁简介
查看>>
从点餐小程序说起,谈谈如何从0到1设计一款toB类产品
查看>>
CSS相对定位和绝对定位
查看>>