0

嗨,我有一个 CAKeyFrameAnimation 比例,它使对象从全尺寸 (1) 淡化到几乎没有 (0.01)

然后这被称为:

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

 [self setHidden:YES];

}

它似乎隐藏了对象,但在让它再次以全尺寸重新出现一瞬间,这破坏了淡入淡出到小/无效果:P

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

4

2 回答 2

1

我相信您需要将fillMode动画的属性设置为kCAFillModeForwards. 那应该在动画结束时冻结动画。

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

于 2011-12-30T13:45:49.110 回答
0
  1. 您可以设置 .scale 对象属性而不是 CAKeyframeAnimation。
  2. 您可以在创建 CAKeyframeAnimation 后禁用动画并设置目标比例。
  3. 您可以在 animationDidStop 方法中设置比例(0.1)(不确定它是否有效)

重点是设置对象的目标属性。它在完成动画后跳转到它们。

于 2011-12-30T13:45:53.030 回答