2010-10-26 5 views
3

J'utilise le code ci-dessous pour le bouton tremblement Comment puis-je l'annuler quand il est en cours?annuler UIView Animation

#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]; 

Répondre

8

Vous pouvez utiliser la méthode de removeAllAnimationsCALayer:

[btn.layer removeAllAnimations]; 
Questions connexes