Ich versuche, den Standort des Nutzers Animation in MapKit zu simulieren (wo-durch die Position des Benutzers wird durch einen pulsierenden blauen Punkt dargestellt). Ich habe eine benutzerdefinierte Unterklasse von MKAnnotationView und in der drawRect Methode habe ich durch eine Reihe von Farben zu Zyklus versucht bin. Hier ist eine einfachere Implementierung, was ich tue:
- (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;
}
Leider führt dies nur die Anmerkungen eines der drei verschiedenen Farben sein und nicht durchlaufen sie. Gibt es eine Möglichkeit, die MKAnnotations zu zwingen, immer wieder so neu zu zeichnen, dass sie animiert zu sein scheint?













