2012-01-24 9 views
9

estoy ejecutando una función para pulsar un icono de juego:animateWithDuration: delay: options: animations: completion: UI de bloqueo cuando se usa con 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) {}]; 
} 

Esto funciona de maravilla en iOS 5.0, pero en 4.3 bloquea la interfaz de usuario. La IU no responde. Leí que esta era la forma sugerida de hacer animaciones repetitivas en iOS versión 4.0 o superior (> = 4.0). El culpable parece ser UIViewAnimationOptionRepeat. ¿Ves algún error obvio que estoy cometiendo?

+0

Acabo de encontrar este mismo problema. No había probado en iOS 4.3 hasta hoy. Por alguna razón, parece que UIViewAnimationOptionAllowUserInteraction se establece en verdadero para iOS 5 y superior. – jowie

Respuesta

11

Probablemente también debería incluir UIViewAnimationOptionAllowUserInteraction.

+0

Perfecto. Gracias. – schellsan

Cuestiones relacionadas