Ich versuche, individuelle Beschriftungsansichten (I erstellen sie als Unterklasse von MKAnnotationView), aber ich habe einige Schwierigkeiten damit zu registrieren. Am Anfang habe ich versucht, nur eine benutzerdefinierte Anmerkungsansicht für einen einzelnen Annotation Marker registrieren mit dem Code (RestaurantMarkerView ist meine benutzerdefinierte Anmerkungsansicht):Wie registriere ich zwei oder mehr benutzerdefinierte Anmerkungsansichten?
mapView.register(RestaurantMarkerView.self, forAnnotationViewWithReuseIdentifier: MKMapViewDefaultAnnotationViewReuseIdentifier)
Es funktioniert gut (wenn ich den Stift tippen, zeigt es das Callout). Nun füge ich eine weitere Anmerkung Marker und versuchen Sie einen anderen Blick für sie zu registrieren, und soweit ich weiß, in diesem Fall sollte ich individuelle Kennungen für die Ansichten verwenden, so dass ich tun, dass durch diesen Code:
mapView.register(RestaurantMarkerView.self, forAnnotationViewWithReuseIdentifier: "a")
mapView.register(ChoosenRestaurantMarkerView.self, forAnnotationViewWithReuseIdentifier: "b")
jetzt Wenn ich auf die Markierungen tippe, werden keine Callouts angezeigt. Wenn ich den Wiederverwendungsidentifikator eines der Marker in MKMapViewDefaultAnnotationViewReuseIdentifier
ändere, zeigt dieser Marker das Callout an. Wie kann ich mehrere benutzerdefinierte Anmerkungsansichten registrieren? Vielen Dank.
Wenn Sie nicht gehen, um die Standard-Anmerkungsansicht Wiederverwendung Bezeichner verwenden (die Sie in diesem Fall nicht, weil Sie verschiedene Ansichten wollen), dann müssen Sie die '' MKMapViewDelegate' Funktion mapView implementieren (_ : viewFor:) 'um die passende Ansicht zu erhalten – Paulw11
@ Paulw11 Vielen Dank! –