核心动画:仅在图层的指定部分(iOS)上制作动画

时间:2012-07-31 15:38:51

标签: ios animation core-animation calayer

我非常绝望地寻找一种方法来向CALayer添加动画,但是它只适用于图层的一部分。或者,如果它甚至可能。

我正在尝试为文本的一部分设置动画(目前正在使用UILabel),但保持原样。

这是一个很好的例子:

计数器,当您添加/删除计数时,只有一位数字会发生变化。

由于

编辑1:

我正在尝试修改文字的 / part / 的位置。

1 个答案:

答案 0 :(得分:2)

您描述的内容是不可能的。核心动画适用于整个图层。 UIView动画适用于整个视图。

如果要为图层/视图的某个部分制作动画,则不需要将其剪切成碎片并仅为要更改的部分设置动画。

此例外是您可以为CAShapeLayer的路径设置动画。只要路径保持相同的结构(控制点的数量/类型),就可以对路径的更改进行动画处理。

如果您有一个形状图层,其中文本是使用路径定义的,并且您可以设计一种方法来转换路径,同时保持相同数量和类型的控制点,您可以进行形状更改的一部分。

还可以对图层蒙版的更改进行动画处理。通过它,您可以显示或隐藏图层的一部分,这可以为您提供类似动画部分图层的效果。例如,您可以使图层的中间部分渐变为透明。