核心动画:仅在层的指定部分(iOS)上执行动画

核心动画:仅在层的指定部分(iOS)上执行动画,ios,animation,core-animation,calayer,Ios,Animation,Core Animation,Calayer,我非常渴望在这里找到一种方法,将动画添加到CALayer中,但使其仅应用于层的一部分。或者如果可能的话 我正在尝试为文本的一部分设置动画(当前使用UILabel),但保留其余部分不变 这里有一个很好的例子: 计数器,当您添加/删除计数时,只有一位数字变化 谢谢 编辑1: 我正在试图编辑文本的/part/的位置。您所描述的是不可能的。核心动画应用于整个层。UIView动画应用于整个视图 如果要为层/视图的一部分设置动画,则无需将其切割成多个部分,并仅为要更改的部分设置动画 例外情况是,可以设置CA

我非常渴望在这里找到一种方法,将动画添加到
CALayer
中,但使其仅应用于层的一部分。或者如果可能的话

我正在尝试为文本的一部分设置动画(当前使用
UILabel
),但保留其余部分不变

这里有一个很好的例子:

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

谢谢

编辑1:


我正在试图编辑文本的/part/的位置。

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

如果要为层/视图的一部分设置动画,则无需将其切割成多个部分,并仅为要更改的部分设置动画

例外情况是,可以设置CAShapeLayer路径的动画。只要路径保持相同的结构(控制点的数量/类型),那么对路径的更改就会设置动画

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


还可以设置层遮罩更改的动画。有了它,你可以显示或隐藏一个层的一部分,这可以给你一个像动画层的一部分一样的效果。例如,您可以使层的中间部分逐渐变为透明。

您想做什么?为部分文本的变换/alpha/位置设置动画?感谢Duncan的输入!因此,如果我正确理解您的陈述,我应该在需要修改的部分添加一个掩码,并从那里开始工作?如何实现这一点?创建一个与要遮罩的层大小相同的新层。将其添加为要修改的图层的遮罩。遮罩层的alpha通道确定显示该层的哪些部分。(如果遮罩是不透明的,则显示图层,如果是透明的,则隐藏图层。)您可以在遮罩图层中安装CGImage,或者将遮罩图层设置为CAShapeLayer并在形状图层中安装CGPath。顺便说一句,接受我的答案并投票表决怎么样?再次感谢邓肯。不用担心,我正在等待你对+1的回复。