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

Nei*_*ard 0 cocoa core-animation quartz-graphics

我已经阅读了Apple的Core Animation Cook Book和Core Animation Programming Guide,但我不太确定一些细节.

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

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

Bra*_*son 5

通常,您会将CALayer作为一个整体设置动画,以获得最佳性能.如果你正在寻找做的是改变你的贝塞尔曲线的位置,你可以简单的动画positionframe您的CALayer属性.

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

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