Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向圆形进度条添加背景色_Ios_Swift_Drawrect - Fatal编程技术网

Ios 向圆形进度条添加背景色

Ios 向圆形进度条添加背景色,ios,swift,drawrect,Ios,Swift,Drawrect,我在我的应用程序中有一个循环进度条,我一直在工作,但我注意到它不是很清楚。它的背景与视图的背景颜色相同 基本上,我想要的是中间的圆圈是一种颜色,然后是外圆圈(在后面,进度条将旋转成不同的颜色)。我几乎没有创建过圆圈,所以我不知道自己该怎么做 这是我的进度圈代码: class ProgressCircle: UIView { override func drawRect(rect: CGRect) { var ctx = UIGraphicsGetCurrentContext()

我在我的应用程序中有一个循环进度条,我一直在工作,但我注意到它不是很清楚。它的背景与视图的背景颜色相同

基本上,我想要的是中间的圆圈是一种颜色,然后是外圆圈(在后面,进度条将旋转成不同的颜色)。我几乎没有创建过圆圈,所以我不知道自己该怎么做

这是我的进度圈代码:

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)
}

如何添加这两个附加圆?

绘制圆的最简单方法可能是。太好了。非常感谢!