我可以在CALayer中为NSBezierPath设置动画吗?

时间:2011-02-17 14:17:05

标签: cocoa core-animation quartz-graphics

我已经阅读了Apple的核心动画烹饪书和核心动画编程指南,但我不太确定一些细节。

我是否总是需要为完整的CALayer制作动画,或者我可以在CALayer中制作动画?

如果我在一个图层中绘制了一个NSBezierPath,并且我想将其动画/移动到另一个位置,我该怎么做?有没有一个例子可以指出我?

1 个答案:

答案 0 :(得分:5)

通常,您会为整个CALayer制作动画,以获得最佳性能。如果你想做的就是改变Bezier路径的位置,你可以简单地为你的CALayer的positionframe属性设置动画。

如果要更改矢量路径的形状,我建议您查看新的CAShapeLayer,您可以使用图层上的path属性在一个CGPath和另一个CGPath之间进行动画处理。 Joe Ricioppo有一些示例代码可供您查看here

除此之外,如果你想更新它的内容,你需要重新绘制图层,而不是它的基本属性,如位置,比例,旋转等。