Ik ben op zoek naar de locatie van de gebruiker animatie in MapKit (waar-door de positie van de gebruiker wordt vertegenwoordigd door een pulserende blauwe stip) te simuleren. Ik heb een aangepaste subklasse van MKAnnotationView gemaakt en in het drawRect methode Ik probeer om door een reeks van kleuren. Hier is een eenvoudiger uitvoering van wat ik doe:
- (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;
}
Helaas is dit gewoon zorgt ervoor dat de annotaties bij een van de 3 verschillende kleuren zijn en niet doorlopen hen. Is er een manier om de MKAnnotations dwingen om voortdurend opnieuw te tekenen, zodat het lijkt te worden geanimeerd?













