我已经阅读了Apple的核心动画烹饪书和核心动画编程指南,但我不太确定一些细节。
我是否总是需要为完整的CALayer制作动画,或者我可以在CALayer中制作动画?
如果我在一个图层中绘制了一个NSBezierPath,并且我想将其动画/移动到另一个位置,我该怎么做?有没有一个例子可以指出我?
答案 0 :(得分:5)
通常,您会为整个CALayer制作动画,以获得最佳性能。如果你想做的就是改变Bezier路径的位置,你可以简单地为你的CALayer的position
或frame
属性设置动画。
如果要更改矢量路径的形状,我建议您查看新的CAShapeLayer,您可以使用图层上的path
属性在一个CGPath和另一个CGPath之间进行动画处理。 Joe Ricioppo有一些示例代码可供您查看here。
除此之外,如果你想更新它的内容,你需要重新绘制图层,而不是它的基本属性,如位置,比例,旋转等。