ACPDownload 1.1.0

ACPDownload 1.1.0

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
发布上次发布2015 年 9 月

Antonio Casero 维护。




  • 作者
  • Antonio Casero

目的

ACPDownload 提供了一个关于下载过程的指示视图。此项目定义了 4 个状态:初始、不确定、运行和完成。图像是以编程方式定义的,因此您不需要担心设备中的分辨率。它还可以根据您的需求进行调整。

Opening Drawer Animation

安装

从源码安装

克隆仓库

$ git clone [email protected]:antoniocasero/ACPDownload.git

或者只需将 ACPDownload 文件夹拖到您的项目中。

如何使用它

将您的视图设置为 ACPDownloadView,在 storyboard 中或在程序中。

ScreenShot

此方法将定义视图的行为。状态的改变是手动定义的。

- (void)setIndicatorStatus:(ACPDownloadStatus)newStatus;

状态

  • ACPDownloadStatusNone:初始状态。
  • ACPDownloadStatusRunning:当过程正在运行时,视图将显示进度指示器。
  • ACPDownloadStatusIndeterminate:不确定状态,当您的过程正在等待操作时。
  • ACPDownloadStatusCompleted:过程已正确完成。

此方法定义了您的过程进度。

- (void)setProgress:(float)progress animated:(BOOL)animated

定义用户点击时的行为。(实现是可选的)。

- (void)setActionForTap:(ACPViewTappedBlock)blockAction;

替换不确定状态的默认动画。

- (void)setIndeterminateLayer:(id)layer;

替换运行状态的默认动画。

- (void)setProgressLayer:(id)layer;

替换每个状态的默认图像。

- (void)setImages:(id)images;

如何自定义

我决定将自定义分为两部分:动画和图像。

自定义图像

所有图像都是使用 Core Graphics 创建的,它们将适应任何分辨率而不会丢失质量。

要定义自己的图像,创建自己的类,使其符合 ACPStaticImagesProtocol 协议,其中您定义每个状态中的图像。在代码中,您可以使用方法 -setStatusImages 将此对象注入到视图中。

ACPStaticImagesAlternative * myOwnImages = [ACPStaticImagesAlternative new];
[self.downloadIndicator setStatusImages:myOwnImages];

自定义动画

为了定义自己的动画(仅适用于运行和不确定状态),您可以使用符合 ACPLayerProtocol 协议的自己的类。

例如,为了在不确定状态下使用自己的动画,您可以注入自己动画类的实例,并使用 -setIndeterminateLayer 方法来替换默认动画。

ACPIndeterminateGoogleLayer * myAnimation = [ACPIndeterminateGoogleLayer new];
[layer updateColor:[UIColor blueColor]]; 
[self.downloadView setIndeterminateLayer:myAnimation];

如果您没有定义颜色,它将默认使用视图容器的 tintColor。

关于这方面的更多详细信息,请查看本仓库中的示例应用程序。

贡献

感谢 MMMaterialDesignSpinner 提供灵感。

贡献

任何贡献都受欢迎,只需创建一个具有您自己的图像或动画的 pull 请求即可!

兼容性

  • 支持 ARC。
  • 与 iOS7 和 iOS8 兼容。

发布说明

  • v1.0 初始发布

许可证

ACPDownload 在 MIT 许可证下可用。有关更多信息请参阅 LICENSE 文件。