INCircleView - 用来绘制进度或指示圆的轻量级组件。
这是数年前用 Objective C 编写的组件的 Swift 重写版本。它设计用作轻量级可定制的圆形进度或指示器视图。为了方便设置,大部分参数都可以在 Interface Builder 中配置,且数值从 0 到 1,因此可以从应用程序的其他部分直接传递进度值,而无需担心转换为角度。
安装
要求
iOS 10.0+
Cocoapods
要通过 CocoaPods 安装,请将以下内容添加到您的 Podfile 中
pod 'INCircleView'
手动
只需将位于《INCircleView》文件夹中的 INCircleView.swift 添加到您的项目中,即可正常运行。
使用方法
设置
请查看示例项目以了解使用示例。
要创建一个简单的圆形,请在 Interface Builder 中添加一个 UIView,并将其类设置为 INCircleView。将其连接到 UIViewController 中的 IBOutlet 并调用以下函数以设置相同数量的填充颜色和填充值。这样就完成了。如果存在多个不同颜色的部分,您可以设置所需数量的颜色和填充值对。
circleView.set(fillColors: [.green], fillValues: [0.5])
在初始设置之后,您可以仅为传递新的填充值而更新填充值。请确保原始设置的 fillColors 的数量与传递到此处值的数量相匹配。
circleView.update(fillValues: [0.6])
参数
除了线段样式模式以外的所有参数都可以在 Interface Builder 中配置,也可以在代码中设置。请参见各个参数的详细说明。
startValue
如果要设置的不是完整的 360 圆形,请使用此参数。例如,如果圆形是从一半开始的,则此值为 0.5。填充值会根据此进行调整,因此传递一个填充值为 0.5 的圆形(从 0.5 开始至 1 结束)将填充到 0.75,以显示半圆为半填充。
endValue
如果要设置的不是完整的 360 圆形,请参考上面的 startValue。
capLocation
盖子是一个可以放置在圆形上的指示器。它保持在其他填充层之上。可以用来显示最大值或指示不同颜色部分的差异。
capLocation
盖子指示器的起点。
capSize
盖子指示器的大小。
fillOffset
这是填充值的偏移量。如果在填充时不希望从圆形的起点开始,则可以使用它。
emptyColor
空圆形背景颜色。
capColor
盖子指示器的颜色。
emptyBackgroundColor
圆形内背景的颜色。
lineWidth
圆形线的宽度。
radius
圆形的半径。默认情况下,它匹配视图的一半大小,因此圆形适合其框架。请注意,这基于宽度,因此视图应该是正方形。
isClockwise
设置圆形填充的方向。
roundedCorners
设置圆形填充具有圆角。
dashNumber
设置划线数量可以更新 lineDashPattern 以显示设置的可见段数。有一个问题需要解决,即当宽度很大且段数很多时开始失去精度。
lineDashPattern
设置填充/空圆形的中心和边缘的图案。
许可
MIT许可。有关更多信息,请参阅LICENSE文件。