Iphone 循环和中断动画
我希望有人能告诉我循环一个动画,用另一个动画中断动画,然后恢复原始动画的正确方法。我当前设置动画的方式如下所示:Iphone 循环和中断动画,iphone,objective-c,ios,animation,Iphone,Objective C,Ios,Animation,我希望有人能告诉我循环一个动画,用另一个动画中断动画,然后恢复原始动画的正确方法。我当前设置动画的方式如下所示: -(void) firstAnimation { [UIView animateWithDuration:1.0f delay:0 options:(UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse | UIViewAnimation
-(void) firstAnimation
{
[UIView animateWithDuration:1.0f delay:0 options:(UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionAllowUserInteraction) animations:^{
CGPoint bottomPoint = CGPointMake(215.0, 380.0);
imgBee.center = bottomPoint;
} completion:^(BOOL finished) {
}];
}
和中断:
-(void) interruptAnimation
{
CGPoint point1 = CGPointMake(500, 500);
CGPoint originalCenter = CGPointMake(215.0, 410.0);
[UIView animateWithDuration:2.0f delay:0 options:(UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionAutoreverse) animations:^{
imgBee.center = point1;
} completion:^(BOOL finished) {
imgBee.center = originalCenter;
[self firstAnimation];
}];
}
我很确定这不是最好的办法。当我使用interruptAnimation中断时,原始动画会突然启动,当我调用[self firstAnimation]时,动画也会突然重新启动
非常感谢您的帮助。请看一下关于暂停和恢复动画的问答,这可能会有所帮助:您是否也尝试过传递UIViewAnimationOptionBeginFromCurrentState?这似乎对过渡的突然性有所帮助,谢谢。不过,为了获得我想要的效果,我不得不对代码做了一些修改,删除了自动翻转,而不是添加了另一个动画。