我的应用程序中有一个循环进度条,我已经工作了,但我注意到它不是很清楚。它的背景与视图的背景颜色相同。
基本上,我想要的是中间圆是一种颜色,然后是外圆(进度条旋转后面的颜色是不同的颜色。我很难创建圆圈所以我自己也不确定如何做到这一点。
以下是我的进度圈代码:
class ProgressCircle: UIView {
override func drawRect(rect: CGRect) {
var ctx = UIGraphicsGetCurrentContext()
var innerRadiusRatio: CGFloat = 0.6
var path: CGMutablePathRef = CGPathCreateMutable()
var startAngle: CGFloat = CGFloat(-M_PI_2)
var endAngle: CGFloat = CGFloat(-M_PI_2) + min(1.0, progress) * CGFloat(M_PI * 2)
var outerRadius: CGFloat = CGRectGetWidth(self.bounds) * 0.5 - 1.0
var innerRadius: CGFloat = outerRadius * innerRadiusRatio
var center = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect))
CGPathAddArc(path, nil, center.x, center.y, innerRadius, startAngle, endAngle, false)
CGPathAddArc(path, nil, center.x, center.y, outerRadius, endAngle, startAngle, true)
CGPathCloseSubpath(path)
CGContextAddPath(ctx, path)
CGContextSaveGState(ctx)
CGContextClip(ctx)
CGContextDrawImage(ctx, self.bounds, UIImage(named: "RadialProgressFill").CGImage)
CGContextRestoreGState(ctx)
}
如何添加这两个额外的圈?