MKRingProgressView 2.3.0

MKRingProgressView 2.3.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布时间最后发布2021 年 8 月
SPM支持 SPM

Max Konovalov 维护。



  • 作者: Max Konovalov
  • maxkonovalov/MKRingProgressView

MKRingProgressView

Language Platform License Version Carthage compatible

类似于 Apple Watch 上的活动应用的活动进度环视图

MKRingProgressView

特性

  • 进度动画
  • 可自定义开始/结束和背景环颜色
  • 自定义环宽度
  • 自定义进度线结束样式
  • 自定义进度线结束下的阴影
  • 还可以显示超过 100%(或 360°)的进度值

安装

CocoaPods

要使用 CocoaPods 安装 MKRingProgressView,请将以下行添加到 Podfile 中

pod 'MKRingProgressView'

Carthage

通过 Carthage 安装 MKRingProgressView,请将以下行添加到您的 Cartfile 中:

github "maxkonovalov/MKRingProgressView"

用法

查看示例 Xcode 项目的说明。它包含 2 个目标:

  • ProgressRingExample - 包含一个可调整参数的单个进度环的简单示例。
  • ActivityRingsExample - 一个高级使用示例,复制苹果公司的 Activity 应用。它还包含了一些用于方便地将 3 个进度环放在一起的类。

Interface Builder

MKRingProgressView 可以在 Interface Builder 中设置。使用它时,将自定义视图类设置为 MKRingProgressView。大多数控件参数都可以在 Interface Builder 中自定义。

代码

let ringProgressView = RingProgressView(frame: CGRect(x: 0, y: 100, width: 100, height: 100))
ringProgressView.startColor = .red
ringProgressView.endColor = .magenta
ringProgressView.ringWidth = 25
ringProgressView.progress = 0.0
view.addSubview(ringProgressView)

可以通过与使用 UIView 的基于块的动画相同的方式,对 progress 值进行动画。

UIView.animate(withDuration: 0.5) {
    ringProgressView.progress = 1.0
}

性能

为了达到更好的性能,以下选项是可能的:

  • gradientImageScale 设置为较低的值如 0.5(默认为 1.0
  • startColorendColor 设置为相同的值
  • shadowOpacity 设置为 0.0
  • allowsAntialiasing 设置为 false

需求

  • iOS 8.2
  • tvOS 9.0
  • Xcode 10, Swift 4+

许可证

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