2011-11-05 25 views
6

que estoy tratando de animar el valor alfa de una vista superposición MapKit (específicamente un MKCircleView) en iOS 5 con el siguiente código:ios MapKit animación MKOverlayView pasando al instante

-(void) animateCircle:(MKCircle*)circle onMap:(MKMapView*) mapView 
{ 
    MKCircleView * circleView = (MKCircleView*) [mapView viewForOverlay:circle]; 
    UIViewAnimationOptions options = UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionTransitionNone; 
    [UIView animateWithDuration:5.0 
          delay:0.0 
         options:options 
        animations:^(void) { circleView.alpha = 0.9; } 
        completion:^(BOOL finished) {} 
    ];  
} 

El valor alfa de la superposición está cambiando como yo quiero, pero está saltando instantáneamente en lugar de animar durante la duración especificada.

¿Alguien puede sugerir qué podría estar mal? Quizás la animación en superposición vistas sea más compleja con bloques de lo que pensaba.

Respuesta

0

La animación principal tiene un comportamiento interesante cuando las animaciones simultáneas tienen la misma vista ... Si intenta animar una vista antes de que termine la última animación de la vista, supondrá que desea que la siguiente animación comience desde el estado final deseado de el inicial. Esto puede provocar saltos de cuadros y saltos de valores alfa.

En su caso, esta vista probablemente esté animada por otra cosa. Intenta ubicar y eliminar la otra animación/oring en UIViewAnimationOptionBeginFromCurrentState a sus opciones.

Cuestiones relacionadas