2011-05-07 9 views
18

Tengo un UIScrollView aquí donde estoy agregando la visualización de una etiqueta en el medio de la pantalla cuando el usuario se desplazó a una página, el problema es que mientras la animación avanza el usuario no puede desplazarse a la página siguiente (toda la interacción del usuario parece estar deshabilitada) hasta que termine la animación.animaciones UIView cancelando cualquier entrada táctil?

Aquí está mi código para mostrar la etiqueta.

if(!scrollView.dragging) 
    [UIView animateWithDuration:0.3 
          delay:0.3 
         options:UIViewAnimationOptionCurveEaseOut 
        animations:^(void){ 
         [vesselNameLabel setFrame:frame]; 
        } 
        completion:^(BOOL finished){}]; 

Entonces, ¿cómo saldría de esta interacción canceladora del usuario en la vista de desplazamiento?

Respuesta

45

Bien, entonces lo descubrí.

Desactiva la animación de bloques de UIView bloqueando por defecto la interacción del usuario, y para evitarlo necesita pasar UIViewAnimationOptionAllowUserInteraction como una de las opciones. Es de esperar que alguien más tenga un cierto uso de esta información también.

+1

También he notado que bloquea por defecto en iOS 4, pero no en iOS 5. Solo me encontré con este problema cuando probé en un teléfono de un colega que aún ejecuta iOS 4. – jowie

+0

Bloques de forma predeterminada en iOS 6. – mbuc91

+0

Impresionante, tan simple :) – Macistador

Cuestiones relacionadas