我想用动画画一个圆,动画从12点开始,旋转360度。一切正常,但我无法调整圆圈的大小。
如果我使用UIBezierPath,则可以定义起点(“ startAngle:-CGFloat.pi / 2”)。
let shapeLayer = CAShapeLayer()
let center = progressView.center
let circularPath = UIBezierPath(arcCenter: center, radius: 100, startAngle: -CGFloat.pi / 2, endAngle: 2 * CGFloat.pi, clockwise: true)
shapeLayer.path = circularPath.cgPath
如果我使用UIBezierPath(ovalIn:...),我可以调整大小。但是我想同时使用两者,还是要保持起始角度和大小呢?
shapeLayer.path = UIBezierPath(ovalIn: CGRect(x: 8, y: 78, width: 70, height: 70)).cgPath
答案 0 :(得分:1)
对于第一个路径代码版本,radius参数确定圆的大小。
在第二个版本中,它将椭圆形(可以是圆形,也可以不是圆形)绘制到矩形框中。
两者都可以通过不同的参数来控制尺寸。
如果要更改用ID COMPANY JAN FEB MAR...
2 COMPANY_A 23.5 26 17
绘制的圆弧的大小,请更改半径参数。
用
绘制的圆圈init(arcCenter:radius:startAngle:endAngle:clockwise:)
将是用
绘制的圆的两倍大let circularPath = UIBezierPath(arcCenter: center,
radius: 100,
startAngle: -CGFloat.pi / 2,
endAngle: 2 * CGFloat.pi,
clockwise: true)
(顺便说一句,如果起始角度为-π/ 2,终止角度不应该为3π/ 2,那么圆弧是360°(或2π)而不是450°?)