2010-10-26 79 views
3

我使用下面的代码摇动按钮如何取消它时,它正在进行?取消UIView动画

#define RADIANS(degrees) ((degrees * M_PI)/180.0) 

    CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-10.0)); 
    CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(10.0)); 

    btn.transform = leftWobble; // starting point 

    [UIView beginAnimations:@"wobble" context:btn]; 
    [UIView setAnimationRepeatAutoreverses:YES]; // important 
    [UIView setAnimationRepeatCount:20]; 
    [UIView setAnimationDuration:0.1]; 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(wobbleEnded:finished:context:)]; 

    btn.transform = rightWobble; // end here & auto-reverse 
    [UIView commitAnimations]; 

回答

8

您可以使用CALayerremoveAllAnimations方法:

[btn.layer removeAllAnimations];