ios-UIBezierPath 逆时针方向的百分比描边,圆弧的起点是从垂直向下的位置
ios-UIBezierPath stroke by percentage for anti-clockwise with start for arc is from vertical downward position
我正在尝试创建逆时针 UIBezierPath,弧的起点是负 y 轴(仅用于可视化)。
let arcPathForLayer = UIBezierPath(arcCenter: upperCenterPoint, radius: radius, startAngle: arcPathStartAngle, endAngle: (arcPathEndAngle), clockwise: false)
通常顺时针 UIBezierPath
,起止角为0.0pi和2.0pi 分别 - 如果路径从正 x 轴开始。
但是对于这种情况 UIBezierPath
是 逆时针 并且弧的起点是 负 y 轴 - 起始角和结束角很小计算混乱。
所以我会 post 相同的答案。
这是解决方案的可视化:
所以开始角度是0.5pi结束是-1.5pi,现在
for draw the stroke for 25% --> end angle = 0pi,
for 50的值% --> end angle = -0.5pi,
以及 100% -- > 结束角度 = -1.5pi
这是相同的计算公式:
endAngle = (0.5 - (2 * percentageForProgress)) * .pi
我正在尝试创建逆时针 UIBezierPath,弧的起点是负 y 轴(仅用于可视化)。
let arcPathForLayer = UIBezierPath(arcCenter: upperCenterPoint, radius: radius, startAngle: arcPathStartAngle, endAngle: (arcPathEndAngle), clockwise: false)
通常顺时针 UIBezierPath
,起止角为0.0pi和2.0pi 分别 - 如果路径从正 x 轴开始。
但是对于这种情况 UIBezierPath
是 逆时针 并且弧的起点是 负 y 轴 - 起始角和结束角很小计算混乱。
所以我会 post 相同的答案。
这是解决方案的可视化:
所以开始角度是0.5pi结束是-1.5pi,现在
for draw the stroke for 25% --> end angle = 0pi,
for 50的值% --> end angle = -0.5pi,
以及 100% -- > 结束角度 = -1.5pi
这是相同的计算公式:
endAngle = (0.5 - (2 * percentageForProgress)) * .pi