隐式动画不起作用

时间:2012-05-01 01:33:07

标签: cocoa-touch animation core-animation calayer cakeyframeanimation

当我试图覆盖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支持。

1 个答案:

答案 0 :(得分:0)

好的,就是这么简单:如果CALayerUIView支持,则会禁用所有隐式动画。如果您需要隐式动画,请将子图层设为UIView的图层。