CAKeyFrameAnimation不重复

时间:2011-12-30 13:31:59

标签: iphone core-animation cakeyframeanimation

嗨我有一个CAKeyFrameAnimation比例,它使一个对象从完整大小(1)淡化到几乎没有(0.01)

然后这称为:

- (void)animationDidStop:(CAKeyframeAnimation *)anim finished:(BOOL)flag
{

 [self setHidden:YES];

}

它似乎隐藏了这个物体,但是在它再次重新出现之前并没有重新出现,只需要一瞬间完全恢复,这会使衰落成为小/无影响:P

如何调用“animationDidStop”来阻止动画返回第1帧?谢谢!

2 个答案:

答案 0 :(得分:1)

我认为您需要将动画的fillMode属性设置为kCAFillModeForwards。这应该在结束时冻结动画。

另一个建议(老实说,这就是我通常做的)只是在设置动画后将图层本身的属性设置为最终位置。这样,当移除动画时,图层仍将最终属性作为其模型的一部分。

答案 1 :(得分:0)

  1. 您可以设置.scale对象属性而不是CAKeyframeAnimation。
  2. 您可以在创建CAKeyframeAnimation后禁用动画并设置目标比例。
  3. 您可以在animationDidStop方法中设置比例(0.1)(不确定它是否有效)
  4. 重点是设置对象的目标属性。完成动画后,它会跳转到它们。