Aus einer strengen API-Perspektive scheint dies nicht möglich.
Der -(void)setSelected:(BOOL)selected animated:(BOOL)animated
Wähler auf MKAnnotationView
heißt es: „. Sie sollten diese Methode nicht direkt aufrufen Ein MKMapView Objekt ruft diese Methode als Reaktion auf Benutzer-Interaktionen mit der Anmerkung“, so die zugrunde liegende Botschaft ist, dass die Auswahl der AnnotationView Instanzen in unter der vollen Verantwortung der Benutzerauswahl, und da der Benutzer nur eine von ihnen auf einmal auswählen kann, sollten Sie nicht in der Lage sein, mehrere von ihnen gleichzeitig ausgewählt zu bekommen.
Auch wenn die Dokumentation besagt, dass diese Methode nicht direkt aufgerufen werden sollte, haben Sie versucht, sie trotzdem mit setSelected:YES
auf mehreren MKAnnotationView
Instanzen aufzurufen, um zu sehen, was es gibt?
SAUBER Weg, um die ich es tun würde: (nicht ich jedoch getestet)
- nicht auf dem Selektionsmechanismus der die MKAnnotationView MKMapView
- Unterklasse verlassen, um eine Gewohnheit zu implementieren einem
- tun die Anpassung in einer Weise, dass das Callout Teil der Anmerkungsansicht ist, so dass Sie mehrere davon anzeigen können.
Wenn Sie es so tun, können Sie mehrere Hinweisblase zur gleichen Zeit und bekommen etwas, das aussehen würde erscheinen lassen:
alt text http://a1.phobos.apple.com/us/r1000/048/Purple/2b/b2/ec/mzl.ttcsrlee.480x480-75.jpg
Warum mehr als 1? Die Bildschirmgröße ist nicht groß genug und dies verwirrt den Benutzer. – kennytm
Das ist richtig, aber wenn es nur zwei-drei Pins auf der Karte mit genügend großen Abstand zwischen ihnen gibt - wäre der Benutzer nicht verwirrt. Und ja, das ist die Anforderung meines Kunden. – Ievgen