animateWithDuration termine immédiatement

Je connais une tonne de gens se posent la même question, mais aucune des solutions proposées semblent les plus importantes, c'est pourquoi je sollicite de nouveau:
J'ai le bloc de code suivant:

UIImageView *moneyHolder = [[UIImageView alloc] initWithImage:moneyImage];    
if([paymentMethod.viewed intValue] == 0){
            //CGRect targetFrame = CGRectMake(0, cell.frame.size.height/2-3, cell.frame.size.width, targetHeight);
            CGRect targetFrame = moneyHolder.frame;
            targetFrame.origin.y = cell.frame.size.height/2-3;
            NSLog(@"animating");
            [UIView animateWithDuration:2
                                  delay:0
                                options: UIViewAnimationCurveEaseOut
                             animations:^{
                                 moneyHolder.frame = targetFrame;
                             } 
                             completion:^(BOOL finished){
                                 NSLog(@"done");
                             }
            ];
        }

Qui je PENSE devrait animer mon moneyHolder cadre. Malheureusement, cela semble se produire immédiatement plutôt que d'une durée de 2 secondes. Je peux le vérifier avec des horodatages de mon journal:

2012-05-11 03:41:50.102 AgilePoet[5824:15203] animation

2012-05-11 03:41:50.116 AgilePoet[5824:15203] fait

Quelqu'un aurait-il une idée sur le pourquoi de ce qui se passe? Toutes les autres questions sur le sujet axé sur la propriété de ne pas être animables, mais je sais qu'une imageview cadre est en cours d'animation. La seule chose que je peux penser est que ce code est écrit à l'intérieur de mon

-tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath method. 

Merci d'avance!

Il est bon de voir que vous avez une théorie sur ce qui pourrait être à l'origine du problème. Pouvez-vous tester par temporairement copier le code d'animation à quelque part d'autre et de voir si il se comporte comme vous vous attendez?
eh bien j'ai changé le code en dehors de la willDisplayCell méthode et cela a fonctionné... personne Ne sait pourquoi il ne serait pas de l'intérieur willDisplayCell?
J'imagine que le code de dessin pour willDisplayCell appels removeAllAnimations sur la couche de cellules, et ainsi de mettre fin à votre animation prématurément.
Qu'avez-vous une solution ?
Oui, deuxièmement, que, après un peu de code si vous pouvez

OriginalL'auteur akhalsa | 2012-05-11