6

Ich benutze eine mapView und versuche, eine Legende hervorzurufen, wenn Sie auf einen Pin klicken, der auf der Karte angezeigt wird.MKMapView Klicken auf Pins wird nicht aufgerufen didSelectAnnotationView

Die Pins werden an den richtigen Stellen platziert, so dass die Annotationen funktionieren, aber wenn ich auf den Pin klicke, wird kein Callout angezeigt. Ich habe show callout = YES.

Die Methode didSelectAnnotationView wird überhaupt nicht aufgerufen, wenn ich auf den Pin klicke.

Gibt es einige allgemeine Probleme, die dazu führen können, dass diese Methode nicht aufgerufen wird?

Antwort

23

Wenn Klopfen auf einen Stift zeigt nicht die callout auch wenn canShowCalloutYES ist, dann ist die Anmerkung des title ist wahrscheinlich nil oder leer.

Wenn title leer ist, wird das Callout nicht angezeigt, und die Delegate-Methode didSelectAnnotationView wird nicht aufgerufen.

+0

Yup stellt fest, dass ich den Titel meiner Annotation nicht richtig gesetzt habe und daher nicht funktioniert, danke –

+0

nach so viel Suche, sah Ihre Antwort, dann sah ich mir das benutzerdefinierte Annotationsobjekt an nur Name war eine schwache Eigenschaft aus Versehen Ich war wie Sprengen, danke –

+0

das ist ein ärgerliches Verhalten von MKMapView - danke für die heads up :) – NSTJ

Verwandte Themen