目前正在制作圆形图表,绘制整圆没有问题。我还需要绘制一个3/4圈,是否有任何指定数学来定义3/4圈路径。我尝试通过完整的圆减少错过的位置值,但无法获得准确的结果。任何人都可以帮忙吗?如果有需要我
UIBezierPath *circlePath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.frame.size.width/2.0f, self.frame.size.height/2.0f)
radius:(self.frame.size.height * 0.5) - ([_lineWidth floatValue]/2.0f)
startAngle:DEGREES_TO_RADIANS(startAngle)
endAngle:DEGREES_TO_RADIANS(endAngle)
clockwise:clockwise];
circle = [CAShapeLayer layer];
circle.path = circlePath.CGPath;
circle.lineCap = kCALineCapRound;
circle.fillColor = [UIColor clearColor].CGColor;
circle.lineWidth = [_lineWidth floatValue];
circle.zPosition = 1; [self.layer addSublayer:circle];
;
请参考下面的图片,
注意:我已经从网上附上了示例图片,但我确定需要相同的结果。
答案 0 :(得分:2)
您已经拥有了所需的代码。函数bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:
采用起始角度和结束角度。如果传入的起始角度为0,结束角度为3π/ 2,则会得到3/4圈。 (3π/ 2是270度,或整圆的3/4。)
请注意,如果您的目标是将圆圈的动画设置为0到360度,那么您需要使用其他技术。为此您要创建整个圆的路径,将其安装到CAShapeLayer中,然后将图层的strokeEnd属性设置为0到1的动画。