如何获得多色边框?

时间:2016-05-18 17:24:08

标签: ios swift uibezierpath

我有一个基于百分比填充的圆圈,但我需要它有一个多颜色边框,即0-.10是橙色,。10-.50是蓝色,。50-.70是紫色,并且.70-1是黑色的。

let circlePath = UIBezierPath(arcCenter: CGPointMake(cell.progress.frame.width / 2, cell.progress.frame.height / 2), radius: CGFloat(60), startAngle: CGFloat(-M_PI_2), endAngle:CGFloat(M_PI * 2 * percentage - M_PI_2), clockwise: true)

    let shapeLayer = CAShapeLayer()
    shapeLayer.path = circlePath.CGPath


    shapeLayer.fillColor = UIColor.clearColor().CGColor

    shapeLayer.strokeColor = UIColor.redColor().CGColor

    shapeLayer.lineWidth = 3.0

    cell.progress.layer.addSublayer(shapeLayer)

1 个答案:

答案 0 :(得分:1)

没有简单的方法;你肯定不会用一个形状层来做这件事。但是您可以轻松地构建一个绘图(在代码中),您可以在其中以不同的颜色创建连续的弧。例如:

enter image description here

这是通过重复调用CGContextSetStrokeColorWithColor,CGContextAddArc和CGContextStrokePath来实现的。