HTProgressHUD 0.2.1

HTProgressHUD 0.2.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2014年12月

Geonu Choi 维护。



  • 作者:
  • hardtack

维护通知

由于服兵役,我无法积极维护该项目,直到 2016 年。

HTProgressHUD

HTProgressHUD 是 iOS 中的文档未说明的 UI 组件 UIProgressHUD 的替代品。
它也是 MBProgressHUD 的替代品。
MBProgressHUD 太老了,引发了太多崩溃。
所以我用新的 APIs、更高的稳定性和更多的定制性重新实现了它。

需求

iOS SDK

  • iOS 5.0 或更高版本

  • 自动引用计数 (ARC)

框架

  • UIKit.framework

  • Foundation.framework

  • CoreGraphic.framework

  • QuartzCore.framework

规格

指示器

它具有以下内置指示器。

  • 带有 UIActivityIndicatorView 的指示器。

    带有大号白色 UIActivityIndicatorView 的指示器。

  • 饼图样式的指示器。

    显示类似饼图的组件进度指示器。

  • 环形指示器。

    显示类似环形的组件进度指示器。

你也可以通过子类化 HTProgressHUDIndicatorView来自定义指示器。

动画

它具有以下内置动画。

  • 淡入动画。

  • 带有缩放的淡入动画。

你甚至可以通过子类化 HTProgressHUDAnimation 来自定义动画。

安装

作为静态库

你可以将 HTProgressHUD 添加为静态库

  1. 克隆或下载 HTProgressHUD

  2. 如果存在,删除 .git & .gitignore

  3. 如果你想要,删除 Examples 文件夹

  4. HTProgressHUD 文件夹移动到你的项目文件夹中

  5. 在 Xcode 中,打开你的项目或工作区,并添加 HTProgressHUD.xcodeproj

  6. HTProgressHUD 应在 Xcode 项目导航器中显示

  7. 单击 您的项目 条目,目标 → 您的目标 → 构建阶段 → 目标依赖项 → + “HTProgressHUD”

  8. 单击 您的项目 条目,目标 → 您的目标 → 构建阶段 → 链接二进制文件与库 + libHTProgressHUD.a

  9. 单击 您的项目 条目,目标 → 您的目标 → 构建设置 → 搜索路径 → 用户头文件搜索路径 → + HTProgressHUD的路径

  10. 单击 您的项目 条目,目标 → 您的目标 → 构建设置 → 链接 → 其他链接器标志 → + -ObjC

  11. 完成

作为源文件

将以下文件复制到您的项目中。

  • HTProgressHUD.h

  • HTProgressHUD.m

  • HTProgressHUDAnimation.h

  • HTProgressHUDAnimation.m

  • HTProgressHUDFadeAnimation.h

  • HTProgressHUDFadeAnimation.m

  • HTProgressHUDFadeZoomAnimation.h

  • HTProgressHUDFadeZoomAnimation.m

  • HTProgressHUDIndicatorView.h

  • HTProgressHUDIndicatorView.m

  • HTProgressHUDPieIndicatorView.h

  • HTProgressHUDPieIndicatorView.m

  • HTProgressHUDRingIndicatorView.h

  • HTProgressHUDRingIndicatorView.m

用法

示例

HTProgressHUD *HUD = [[HTProgressHUD alloc] init];
[HUD showInView:self.view];
[HUD hideAfterDelay:3];

更复杂示例

__block HTProgressHUD *progressHUD = [[HTProgressHUD alloc] init];
progressHUD.animation = [HTProgressHUDFadeZoomAnimation animation];
progressHUD.indicatorView = [HTProgressHUDIndicatorView indicatorViewWithType:HTProgressHUDIndicatorTypePie];
progressHUD.text = @"Loading...";

[progressHUD showWithAnimation:YES inView:self.view whileExecutingBlock:^{
    float r = 0.01;
    for (int i = 0; i <= 1 / r; i++) {
        [NSThread sleepForTimeInterval:r];
        progressHUD.progress = i * r;
        if (progressHUD.progress > 0.5) {
            progressHUD.text = @"Almost done";
        }
    }
}];

或查看 HTProgressHUDExample 项目。

定制

查看内置动画和内置指示器的源代码。这些也可以说是某种定制的动画/指示器。

三行总结

  1. MBProgressHUD很有用。

  2. 但它导致了很多崩溃。

  3. 所以我重新创造了轮子。