2013-08-08 2 views
1
// Animate moving the cards into position 
    [UIView animateWithDuration:0.5 
          delay:0.0 
         options:UIViewAnimationOptionCurveLinear 
        animations: ^{ card.frame = cardFrame; } 
        completion:^(BOOL finished) { 
         if (finished) { 
          [UIView animateWithDuration:1.0 
                delay:3.0 
               options:UIViewAnimationOptionTransitionFlipFromRight 
               animations:^{ card.image = [UIImage imageNamed:@"imgBack.png"]; } 
               completion:NULL]; 
      } 
        }]; 

по какой-то причине вторая задержка просто не задержит. и анимация продолжает мгновенно любую помощь?Уплотненный UIView animateWithDuration: Задержка: Варианты: одушевленные: завершение не задерживая

ответ

2

Проблема, с которой вы столкнулись, фактически не имеет ничего общего с гнездом. UIImageView просто не может анимировать свойство setImage:, и, следовательно, код выполняется, как только он будет достигнут.

Если вы хорошо с просто задерживая установки свойства изображения, а затем идти вперед и использовать:

double delayInSeconds = 2.0; 
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); 
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
    card.image = newImage; 
}); 

Если вы хотите, чтобы оживить образ меняющегося, вы могли бы хотеть смотреть в CATransition и применить переход эффект для изображений, изменяющихся в представлении изображения.

+0

Спасибо за помощь. Я думаю, что собираюсь заглянуть в CATransition, так как я хотел бы оживить это изменение, поскольку оно выглядело бы немного более удобным для пользователя. –

Смежные вопросы