Sto cercando di simulare l'animazione posizione dell'utente in MapKit (dove-by la posizione dell'utente è rappresentata da un punto blu pulsante). Ho creato una sottoclasse personalizzata di MKAnnotationView e nel metodo drawRect Sto tentando di passare da un set di colori. Ecco un'implementazione più semplice di quello che sto facendo:
- (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;
}
Purtroppo questo solo fa sì che le annotazioni di essere uno dei 3 colori differenti e non lo fa passare da loro. C'è un modo per forzare le MKAnnotations per ridisegnare continuamente in modo che sembra essere animato?













