GTMActivityIndicatorView
简介
GTMActivityIndicatorView
是一个加载动画库
本库是在 NVActivityIndicatorView 的基础上做了一些方便使用的改进
## 改进了什么?
### 1. 动画代码不放在库中(不必要的代码太多),用户可以通过实现 NVActivityIndicatorAnimation 定义任意动画,原来已定义好的动画组件都在 demo 项目中,用户可以根据自己的需求挑选所需的动画使用
- 去除了枚举 enum NVActivityIndicatorType
- 将 protocol NVActivityIndicatorAnimationDelegate 改成 protocol NVActivityIndicatorAnimation
### 2. UIViewController 不需要实现 NVActivityIndicatorViewable 协议
- 去除了 NVActivityIndicatorViewable 协议
- 将原来针对实现 NVActivityIndicatorViewable 的 UIViewController 的扩展改为针对 UIViewController 的扩展
声明
如果 NVActivityIndicatorView 项目也做了类似本类库的调整,建议大家使用原库,尊重原创,我只做了一些工作
示例
直接下载代码,代码中包含示例
要获得第一手体验,只需打开项目并运行它。
动画类型
类型 | 类型 | 类型 | 类型 |
---|
- 球脉冲 | 2. 球格脉冲 | 3. 球剪辑旋转 | 4. 正方形旋转
- 球剪辑旋转脉冲 | 6. 球剪辑旋转多倍 | 7. 球脉冲上升 | 8. 球旋转
- 立方体过渡 | 10. 球锯齿路径 | 11. 球锯齿路径偏移 | 12. 球三角形路径
- 球缩放 | 14. 线缩放 | 15. 线缩放派对 | 16. 球缩放多倍
- 球脉冲同步 | 18. 球节拍 | 19. 线缩放脉冲出 | 20. 线缩放脉冲快速出
- 球缩放涟漪 | 22. 球缩放涟漪多倍 | 23. 球旋转渐隐加载 | 24. 线旋转渐隐加载
- 三角形斜切旋转 | 26. 卡通人 | 27. 球格节拍 | 28. 半圆旋转
- 球旋转追逐 | 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)