将 UILabel 位置更改为 CGPath 的 strokeEnd
Changing UILabel position to strokeEnd of CGPath
我正在尝试实现与所附图片类似的效果,其中圆圈根据您的关卡进度进行动画处理,然后在动画路径的末端附加一个标签以显示获得的经验以及未画出的圆圈部分表示剩余的经验。我根据需要设置了圆圈动画,但无法想出使标签出现在正确位置的解决方案。
我已经尝试将标签的位置设置为 path.currentPoint 但这似乎总是绘制路径的开始而不是结束。
任何有关如何实现此目标的指示都将非常有用!
我一直在研究你的问题,首先要实现这一点,你必须为 path
真实路径设置动画,而不仅仅是 strokeEnd
,如果你只为 strokeEnd
设置动画] 你的 path.currentPoint
将始终 return 路径的圆端点,为了使路径动画化,你需要制作一个 KeyFramed Animation 将“路径”动画化为 keyPath
并传递一个数组从当前角度到所需角度的路径,然后为了为您的标签设置正确的位置,您需要获取所有这些路径值的 de currentPoint 并使用“position”keyPath 制作另一个 keyFramed 动画,并将从路径收集的所有这些点作为值传递数组
这是一个基本的例子
代码在GitHub这个Repo
您还有很多工作要做,但是,这可以作为您最终解决方案的起点
希望对您有所帮助,此致
我正在尝试实现与所附图片类似的效果,其中圆圈根据您的关卡进度进行动画处理,然后在动画路径的末端附加一个标签以显示获得的经验以及未画出的圆圈部分表示剩余的经验。我根据需要设置了圆圈动画,但无法想出使标签出现在正确位置的解决方案。
我已经尝试将标签的位置设置为 path.currentPoint 但这似乎总是绘制路径的开始而不是结束。
任何有关如何实现此目标的指示都将非常有用!
我一直在研究你的问题,首先要实现这一点,你必须为 path
真实路径设置动画,而不仅仅是 strokeEnd
,如果你只为 strokeEnd
设置动画] 你的 path.currentPoint
将始终 return 路径的圆端点,为了使路径动画化,你需要制作一个 KeyFramed Animation 将“路径”动画化为 keyPath
并传递一个数组从当前角度到所需角度的路径,然后为了为您的标签设置正确的位置,您需要获取所有这些路径值的 de currentPoint 并使用“position”keyPath 制作另一个 keyFramed 动画,并将从路径收集的所有这些点作为值传递数组
这是一个基本的例子
代码在GitHub这个Repo 您还有很多工作要做,但是,这可以作为您最终解决方案的起点
希望对您有所帮助,此致