GTMActivityIndicatorView 1.3.2

GTMActivityIndicatorView 1.3.2

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布上次发布2018年10月
SPM支持 SPM

GTMYang 维护。



  • 作者
  • GTMYang

alt tag

GTMActivityIndicatorView

简介

GTMActivityIndicatorView 是一个加载动画库

本库是在 NVActivityIndicatorView 的基础上做了一些方便使用的改进

## 改进了什么?

### 1. 动画代码不放在库中(不必要的代码太多),用户可以通过实现 NVActivityIndicatorAnimation 定义任意动画,原来已定义好的动画组件都在 demo 项目中,用户可以根据自己的需求挑选所需的动画使用

  • 去除了枚举 enum NVActivityIndicatorType
  • 将 protocol NVActivityIndicatorAnimationDelegate 改成 protocol NVActivityIndicatorAnimation

### 2. UIViewController 不需要实现 NVActivityIndicatorViewable 协议

  • 去除了 NVActivityIndicatorViewable 协议
  • 将原来针对实现 NVActivityIndicatorViewable 的 UIViewController 的扩展改为针对 UIViewController 的扩展

声明

如果 NVActivityIndicatorView 项目也做了类似本类库的调整,建议大家使用原库,尊重原创,我只做了一些工作

示例

直接下载代码,代码中包含示例

alt tag

要获得第一手体验,只需打开项目并运行它。

动画类型

类型 类型 类型 类型
  1. 球脉冲 | 2. 球格脉冲 | 3. 球剪辑旋转 | 4. 正方形旋转
  2. 球剪辑旋转脉冲 | 6. 球剪辑旋转多倍 | 7. 球脉冲上升 | 8. 球旋转
  3. 立方体过渡 | 10. 球锯齿路径 | 11. 球锯齿路径偏移 | 12. 球三角形路径
  4. 球缩放 | 14. 线缩放 | 15. 线缩放派对 | 16. 球缩放多倍
  5. 球脉冲同步 | 18. 球节拍 | 19. 线缩放脉冲出 | 20. 线缩放脉冲快速出
  6. 球缩放涟漪 | 22. 球缩放涟漪多倍 | 23. 球旋转渐隐加载 | 24. 线旋转渐隐加载
  7. 三角形斜切旋转 | 26. 卡通人 | 27. 球格节拍 | 28. 半圆旋转
  8. 球旋转追逐 | 30. 轨道 | 31. 音频均衡器

安装

Cocoapods

如有需要,请安装 CocoaPods。

$ gem install cocoapods

在您的 Podfile 中添加 GTMActivityIndicatorView

use_frameworks!

pod 'GTMActivityIndicatorView'

然后,运行以下命令。

$ pod install

手动

GTMActivityIndicatorView 文件夹复制到您的项目中。这样就完成了。

注意:确保在构建阶段将 GTMActivityIndicatorView 中的所有文件包含在编译源中。

迁移

版本 1.3.2

本版本需要 Xcode 9.0 和 Swift 4.2。

使用说明

首先,导入 GTMActivityIndicatorView

import GTMActivityIndicatorView

初始化

接下来,有两种方式可以创建 GTMActivityIndicatorView

  • 通过代码,使用初始化器。除了 frame 之外的所有参数都是可选的,默认使用 GTMActivityIndicatorView.DEFAULT_* 的值。
GTMActivityIndicatorView(frame: frame, type: type, color: color, padding: padding)

注意: 有关默认值,请查看 DEFAULTS

控制

开始动画。

activityIndicatorView.startAnimating()

停止动画。

activityIndicatorView.stopAnimating()

确定是否正在动画。

animating = activityIndicatorView.animating

开始动画。

showLoadding(size, message) // plus other parameters as in initializer.

停止动画。

hideLoadding()

或者您可以使用 NVActivityIndicatorPresenter 在任何地方显示 UI 阻塞器。

开始动画。

let activityData = ActivityData()

NVActivityIndicatorPresenter.sharedInstance.startAnimating(activityData)

注意: 有关 ActivityData 的详细信息,请参阅文档。

停止动画。

NVActivityIndicatorPresenter.sharedInstance.stopAnimating()

DEFAULTS

所有 GTMActivityIndicatorView 实例的全局默认值。

  • 默认动画类型。
默认动画 NVActivityIndicatorAnimationBallSpinFadeLoader
  • 活动指示器视图的默认颜色。
GTMActivityIndicatorView.DEFAULT_COLOR = UIColor.whiteColor()
  • 活动指示器视图的默认填充。
GTMActivityIndicatorView.DEFAULT_PADDING = CGFloat(0)
  • 用作 UI 阻塞器的活动指示器视图的默认大小。
GTMActivityIndicatorView.DEFAULT_BLOCKER_SIZE = CGSizeMake(60, 60)
  • 默认显示时间阈值。

为了在实际上显示 UI 阻塞器,需要经过的时间(在 startAnimating()stopAnimating() 调用之间)。应该考虑活动至少需要多长时间才值得向用户提供显示。如果在这个时间阈值之前活动结束,则根本不会显示。

GTMActivityIndicatorView.DEFAULT_BLOCKER_DISPLAY_TIME_THRESHOLD = 0 // in milliseconds
  • 默认最小显示时间。

UI 阻塞器的默认最小显示时间。其主要目的是避免快速显示和隐藏,例如,将其设置为 200ms 将会使 UI 阻塞器至少显示这么长时间(无论是否在较早时调用 stopAnimating())。

GTMActivityIndicatorView.DEFAULT_BLOCKER_MINIMUM_DISPLAY_TIME = 0 // in milliseconds
  • UI阻断器中显示的默认消息。
GTMActivityIndicatorView.DEFAULT_BLOCKER_MESSAGE: String? = nil
  • UI阻断器中显示消息的默认字体。
GTMActivityIndicatorView.DEFAULT_BLOCKER_MESSAGE_FONT = UIFont.boldSystemFont(ofSize: 20)