如何停止iPhone中的UIView CABasicAnimation
问题描述:
我有3个使用for循环动态创建的视图。在我呼吁旋转动画下面的方法如何停止iPhone中的UIView CABasicAnimation
- (void)runRightSpinAnimationOnView:(UIView*)view duration:(CGFloat)duration rotations: (CGFloat)rotations repeat:(float)repeat;
{
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotationAnimation.fromValue = [NSNumber numberWithFloat:0];
rotationAnimation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
//rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 /* full rotation*/ * rotations * duration ];
rotationAnimation.duration = duration;
//rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = repeat;
[view.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}
如何停止在触摸旋转动画开始的看法?... 我尝试下面的编码在触摸开始的方法,但它没有工作
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
int viewTag=[touch view].tag;
UIView *myView =(UIView *)[self.view viewWithTag:viewTag];
[myView.layer removeAllAnimations];
}
请帮我...
答
这可能是因为你是从其他层去除动画,而不是从你上添加了动画同一层删除动画。 (您正在使用错误的视图来移除动画,请再次检查它)。
您可以用它来从yourView删除动画:?有没有办法暂停CABasicAnimation]
[yourView.layer removeAllAnimations];
的可能重复(http://*.com/questions/2306870/is-there -a路 - 间歇-A-cabasicanimation) – Pfitz 2013-05-02 11:14:54