下面是我使用的代码。动画有效。然而,它在它之后又跳回了原来的状态。我的代码有什么问题吗?谢谢。
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
CABasicAnimation *expand=[CABasicAnimation animationWithKeyPath:@"transform"];
expand.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.2, 1.2, 1.0)];
expand.autoreverses=NO;
expand.removedOnCompletion=YES;
CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
opacityAnimation.toValue = [NSNumber numberWithFloat:0.0f];
opacityAnimation.autoreverses=NO;
opacityAnimation.removedOnCompletion=YES;
CAAnimationGroup *group=[CAAnimationGroup animation];
group.animations=[[NSArray alloc] initWithObjects:expand,opacityAnimation, nil];
group.duration=1.0;
group.fillMode=kCAFillModeForwards;
group.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
[view1.layer addAnimation:group forKey:@"expand"];
}
最佳答案
您正在将 removedOnCompletion
设置为 YES
,这指定动画完成后将被删除。请尝试使用 NO
。
关于ios - iphone - 动画跳回原始状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692881/