animateWithDuration завершается немедленно

Я знаю, что множество людей задавали один и тот же вопрос, но ни одно из предложенных решений не кажется уместным, поэтому я спрашиваю еще раз: У меня есть следующий блок кода:

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");
                             }
            ];
        }

Который, я ДУМАЮ, должен анимировать мой фрейм moneyHolder. К сожалению, это происходит сразу, а не в течение 2 секунд. Я могу проверить это по отметкам времени из моего журнала:

2012-05-11 03:41:50.102 AgilePoet[5824:15203] анимация
2012-05-11 03:41:50.116 AgilePoet[5824:15203] сделано

Кто-нибудь что-нибудь думает о том, почему это может происходить? Все остальные вопросы по этому вопросу были сосредоточены на том, что свойство не может быть анимировано, но я знаю, что кадр изображения может быть анимирован. Единственное, что я могу предположить, это то, что этот код написан внутри моего

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

Заранее спасибо!

16
задан David Rönnqvist 12 May 2012 в 03:49
поделиться