2012-01-24 1 views
9

Я бег функции пульсировать значок воспроизведения:animateWithDuration: delay: опции: анимация: завершение: блокировка пользовательского интерфейса при использовании с UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse

- (void)pulsePlayIcon { 
    if ([self isPlaying]) { 
     return; 
    } 

    [[self videoView] playIcon].hidden = NO; 
    [[self videoView] playIcon].alpha = 1.0; 

    [UIView animateWithDuration:[self playIconPulseDuration] 
          delay:[self playIconPulseTimeInterval] 
         options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse) 
        animations:^{ 
         [[self videoView] playIcon].alpha = 0.8; 
        } 
        completion:^(BOOL completed) {}]; 
} 

Это прекрасно работает в прошивкой 5.0, но в 4.3 он блокирует пользовательский интерфейс. Пользовательский интерфейс не отвечает. Я читал, что это был предложенный способ повторить анимацию в iOS версии 4.0 или выше (> = 4.0). Преступник, похоже, UIViewAnimationOptionRepeat. Вы видите очевидные ошибки, которые я делаю?

+0

Я только что наткнулся на эту ту же проблему. Я не тестировал на iOS 4.3 до сегодняшнего дня. По какой-то причине кажется, что для UIViewAnimationOptionAllowUserInteraction установлено значение true для iOS 5 и выше. – jowie

ответ

11

Возможно, вы должны указать UIViewAnimationOptionAllowUserInteraction.

+0

Отлично. Спасибо. – schellsan

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