CAAnimation-对“变换”的错误解释?

时间:2018-08-07 09:07:52

标签: ios caanimation cakeyframeanimation

我试图理解的CAAnimation出现了一些非常奇怪的行为。我已经将其简化为一个简单的复制案例:

  • 使用CAKeyframeAnimation创建一个简单的keyPath="transform"
  • 创建一个CATransform3D,它是单位矩阵的任意倍数(0或1除外)。假设本示例为0.5I,因此每个对角线项均为0.5。
  • 将此矩阵设置为任意数量的帧的值。
  • 将动画添加到某些视图的图层。

(对不起,我在Xamarin工作,所以很遗憾,没有复制粘贴的Swift / ObjC代码示例;我在这些语言上的经验完全为零)。

如果您将我刚刚描述的转换直接通过(layer.transform = transform分配给图层,则其行为将达到预期的效果-不会发生任何事情。矩阵是单位矩阵的倍数,因此在除以齐次坐标后,输入/输出点应该相同。但是,作为动画的关键帧,矩阵会将图层缩放到其大小的一半(或您选择的任何因子)。

我为为什么会发生而感到困惑,希望有人能对此情况有所了解。

0 个答案:

没有答案