ios-UIBezierPath按逆时针方向的百分比,以弧形开始为垂直向下位置

问题描述 投票:1回答:1

我试图创建逆时针UIBezierPath,弧的起点是负y轴(仅用于可视化)。 enter image description here

let arcPathForLayer = UIBezierPath(arcCenter: upperCenterPoint, radius: radius, startAngle: arcPathStartAngle, endAngle: (arcPathEndAngle), clockwise: false)

通常对于顺时针UIBezierPath,开始和结束角度分别为0.0pi和2.0pi-如果路径是从正x轴开始。 但是对于这种情况,UIBezierPath是逆时针的,并且弧的起点是负y轴 - 起始角度和结束角度很难混淆计算。所以我会发布相同的答案。

ios swift uiview uibezierpath cashapelayer
1个回答
1
投票

以下是解决方案的可视化: here is the picture

所以起始角度是0.5pi,结束是-1.5pi, 现在用于绘制25%的笔划 - >结束角度的值= 0pi, 为50% - >结束角度= -0.5pi, 在100%的相同注释 - >结束角度= -1.5pi

这是计算相同的公式:

endAngle = (0.5 - (2 * percentageForProgress)) * .pi
© www.soinside.com 2019 - 2024. All rights reserved.