gpt4 book ai didi

ios - 通过循环 drawRect 为自定义贝塞尔曲线路径设置动画

转载 作者:可可西里 更新时间:2023-11-01 05:44:50 25 4
gpt4 key购买 nike

我有使用贝塞尔曲线路径、渐变和笔触来执行我的绘图的自定义绘图代码。我想通过循环 drawRect 并更改贝塞尔曲线路径上的属性值来运行自定义动画。

我研究过使用 CAShapeLayer ( UIView animation in drawrect ),但这似乎并不适合我。我的绘图代码非常复杂,有几百行,所有绘图都是通过贝塞尔曲线路径和渐变完成的。将绘图更改为 CAShapeLayer,然后向其添加颜色和渐变将非常耗时!

我知道 Apple 不建议显式调用 drawRect 而是使用 setNeedsDisplay 来调用 draw rect ( How to use DrawRect correctly )。但这样做的问题是我每次都在动画中遇到轻微的差异(虽然非常微小)。这可能与 setNeedsDisplay 调度 drawRect 在 run loop 上调用但不直接自行调用有关。

我想知道我可以使用什么策略来循环 drawRect 并每次都实现同步的完美定时动画。可以这样做吗?

最佳答案

两者都是Animating Pie Slices Using a Custom CALayerAnimating Custom Layer Properties by Rob Napier当您在 drawInContext: 中进行完全自定义绘图时,这是学习如何制作自定义动画的两个很好的资源。

如果你还是觉得设置一个外部机制来同步绘图那我建议你看看CADisplayLink .

关于ios - 通过循环 drawRect 为自定义贝塞尔曲线路径设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19420218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com