答案 0 :(得分:1)
以下是我的工作方式。
创建CALayer
以绘制您的背景'对于装载机。不幸的是,在Core Animation或Core Graphics中没有内置的方法来创建角度渐变。您必须使用带有CAGradientLayer
的线性渐变,或者查看AngleGradientLayer。
创建CAShapeLayer
以定义圆弧。然后,您需要使用UIBezierPath
+bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:
方法创建弧形路径。然后,您可以将此路径分配给CAShapeLayer
的{{3}}媒体资源。
然后,您需要配置CAShapeLayer
的描边。您需要将path
设置为笔划的宽度,并将lineWidth
属性设置为kCALineCapRound
。
将CAShapeLayer
分配给后台CALayer
的{{3}}媒体资源。这将掩盖背景'您的装载机到描边路径。
将您的背景CALayer
lineCap
添加到UIView
' mask
。 (或者在视图的as a sublayer方法中创建UIView
和CALayer
以及layer
的子类
使用CABasicAnimation
上的CAShapeLayer
和return your custom layer class属性进行动画制作。
答案 1 :(得分:0)
我使用UIBezierPath类做了类似的事情。特别是addArcWithCenter函数:
let line = UIBezierPath()
line.addArcWithCenter(centerPoint, radius: curveRadius, startAngle: startAngle, endAngle: endAngle, clockwise: true)
color.setStroke()
line.stroke()
centerPoint,curveRadius,startAngle和endAngle都是提前设置的。
颜色是UIColor,用于给出线条颜色。