0

当我试图覆盖position属性上的隐式动画时,图层会快速闪烁到目标位置,然后开始我的显式动画:

CAKeyframeAnimation* animation = [CAKeyframeAnimation animation];
animation.path = path; // some CGPath
animation.duration = 1.0;

[newTopLayer setPosition:CGPointMake(x, y)]; // Setting final values for stickness
[newTopLayer addAnimation:animation forKey:@"position"];

似乎position密钥没有被覆盖。为什么?我试过了CATransaction,但仍然没有运气。

更新
进一步的调查表明,newTopLayer无论如何都不是隐含的动画。有关信息:它由UIView.

4

1 回答 1

0

好的,就这么简单:如果 aCALayer由 支持UIView,则所有隐式动画都被禁用。如果您需要隐式动画,请为 a 的图层创建一个子UIView图层。

于 2012-05-04T01:56:25.057 回答