CABasicAnimation 键名的重要性

问题描述 投票:0回答:1

我想知道将

CABasicAnimation
添加到图层时键的重要性是什么。 我同时可以看到多个视图。我对每个应用一个函数,使其具有动画效果。总而言之,这个函数做了很多事情,最终结果是:

layer.add(animation, forKey: "jiggle")

当在每个视图上调用动画时,它是否应该有不同的键或其他什么?

医生说:

每个唯一键仅添加一个动画到图层中。

但它没有说明它对于整个应用程序是否应该是唯一的。

key documentation core-animation
1个回答
0
投票

关键是每层。整个想法是,在任何给定层上不能有多个具有相同关键点的动画。该键允许您使用

CALayer removeAnimation(forKey:)
从图层中删除动画,或使用
animation(forKey:)
检索动画。

key
CALayer add(animation:forKey:)
参数的完整评论指出:

标识动画的字符串。每个唯一键仅添加一个动画到图层中。特殊键

kCATransition
自动用于过渡动画。您可以为此参数指定 nil。

请注意提及

kCATransition
nil
。如果密钥不是每层,那么整个应用程序(甚至系统)中只有一层可以是
nil
或使用
kCATransition

将其视为一本字典,其中每一层都有自己的字典。两个不同的层有两个不同的字典,所以不用担心两者之间的关键冲突。

© www.soinside.com 2019 - 2024. All rights reserved.