ActivityRings
ActivityRings 尝试重新创建苹果活动应用程序中的环形控件。
该项目是 Max Konovalov 的纯 UIKit 实现的 SpriteKit 版本,Max Konovalov 的 MKRingProgressView。
要求
- Swift 4.2
- iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 4.0+
安装
ActivityRings 可通过 CocoaPods 和 Carthage 获得。
CocoaPods
要使用 CocoaPods 安装 ActivityRings,请将以下行添加到您的 Podfile 中
pod 'ActivityRings'
Carthage
要使用 Carthage 安装 ActivityRings,请将以下行添加到您的 Cartfile 中
github "HarshilShah/ActivityRings"
使用方法
基础
要开始使用,导入 ActivityRings
。要显示控件,在 iOS、macOS 和 tvOS 上使用 ActivityRingView
类,在 watchOS 上使用 ActivityRingScene
类。
自定义
可以自定义 ringWidth
、startColor
、endColor
和 backgroundRingColor
。
进度
可以设置带或不带动画的环形进度。
要无动画地设置进度,只需更新 progress
变量的值。
要动画化进度,使用 animateProgress
方法,该方法接受两个参数
- 目标最终进度值
- 动画持续时间
注意事项
关于性能的一些说明
- 由于此控件是用 SpriteKit 编写的,它严重依赖 GPU,因此在不带 GPU 的模拟器上可能会无法正常或准确地运行。
- 初始设置过程成本较高,因此直接在呈现视图后动画进度可能会出现一些问题。这目前正在解决中,同时,将动画延迟一秒钟左右可以解决这个问题。
使用ActivityRings的应用程序
如果您在自己的应用程序中使用此库,请随时提交PR。
作者
由Harshil Shah编写。您可以在Twitter上找到我。
原始UIKit实现是由Max Konovalov编写的。
许可协议
ActivityRings在MIT许可下可用。有关更多信息,请参阅LICENSE.md文件。