Estoy tratando de simular la animación de la ubicación del usuario en MapKit (donde por la posición del usuario se representa mediante un punto azul pulsante). He creado una subclase personalizada de MKAnnotationView y en el método drawRect Estoy intentando desplazarse a través de un conjunto de colores. Aquí hay una aplicación más simple de lo que estoy haciendo:
- (void)drawRect:(CGRect)rect {
float magSquared = event.magnitude * event.magnitude;
CGContextRef context = UIGraphicsGetCurrentContext();
if (idx == -1) {
r[0] = 1.0; r[1] = 0.5; r[2] = 0;
b[0] = 0; b[1] = 1.0; b[2] = 0.5;
g[0] = 0.5; g[1] = 0; g[2] = 1.0;
idx = 0;
}
// CGContextSetRGBFillColor(context, 1.0, 1.0 - magSquared * 0.015, 0.211, .6);
CGContextSetRGBFillColor(context, r[idx], g[idx], b[idx], 0.75);
CGContextFillEllipseInRect(context, rect);
idx++;
if (idx > 3) idx = 0;
}
Por desgracia, esto sólo hace que las anotaciones a ser uno de los 3 colores diferentes y no se hace de una a otra. ¿Hay una manera de forzar a los MKAnnotations volver a dibujar continuamente de manera que parece estar animada?













