从中断的位置继续动画-核心动画



我的动画需要一些帮助。我有两个按钮,第一个按钮调用一个动画,第二个按钮调用另一个动画。

现在,当我按下第一个按钮时,下面的代码会被调用。问题是,当我按下第二个按钮时,动画会传送到它的起始位置(第二个动画位置),有没有办法让动画从中断的地方流到一起?

CABasicAnimation *anim1 = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
anim1.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
anim1.fromValue = [NSNumber numberWithFloat:((-10*M_PI)/180)];
anim1.toValue = [NSNumber numberWithFloat:((10*M_PI)/180)];
anim1.repeatCount = HUGE_VALF;
anim1.autoreverses = YES;
anim1.duration = .5;
[head addAnimation:anim1 forKey:@"transform"];  

虚拟图片:

http://i47.tinypic.com/2yopif6.jpg

黑线是第一个动画,红色是第二个动画,绿色是我想弄清楚的一个。从图片上看,它是在黑色中间被打断的。

为什么不使用animation方法而不是UIView类-只需确保使用UIViewAnimationOptionBeginFromCurrentState选项?

请在此处查看参考文档:http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html

编辑

我认为本教程将帮助您更好地:http://wangling.me/2011/06/core-animation-101-from-and-to/.他们试图在那里实现的是通过按钮触发动画后反弹一个球。当第二次按下按钮时,球应该会从当前位置反弹回来。在一节中,他们提到他们依靠两个代理方法animationDidStart和animationDidStop来实现这种期望的效果。

最新更新