iPhone动画

我试图在iPhone上做一个动画,我希望有人能帮助我,因为我被困住了。

我在CAPath中使用CAKeyframeAnimation为周围的视图添加动画效果。

我设置了这些设置:

animation.removedOnCompletion = YES; 
animation.fillMode = kCAFillModeRemoved;

所以当动画完成时,动画从图层中移除,我希望视图响应触摸。 正如我发现,如果我设定:

animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;

那么该视图不再响应动画后的触摸。

这也有动画结束时不得不将视图手动定位到完成位置的负面影响。

我正在做的工作的理论,但在实践中,在我能够在animationDidStop方法中手动设置其位置之前,将视图跳转回原始位置。

那么是否有可能让动画的最终位置保持不变并且视图对触摸作出响应?


将填充模式设置为kCAFileModeForwards会使动画看起来好像它位于动画的最后一步,但它只是外观。 您实际上需要设置您正在进行动画制作的任何属性。 如果是这个位置,你需要打电话给:

[layer setPosition:destinationPoint];

在图层上。 然后,您不必设置填充模式,或者告诉它不要在完成时移除动画。 您将需要确保您为关键“位置”设置动画,以便用您自己的动画覆盖默认动画。 在将动画添加到图层之前调用-setPosition。 像这样的东西:

[layer setPosition:destinationPoint];
[layer addAnimation:kfAnimation forKey:@"position"];
链接地址: http://www.djcxy.com/p/74223.html

上一篇: iPhone animation

下一篇: The clicked UITextFiled is moved out of the interface