Ich arbeite zur Zeit mit dem MapKit und stecken bin.
Ich habe eine benutzerdefinierte Anmerkung Ansicht Ich verwende, und ich möchte die Bildeigenschaft verwenden, um mit meinem eigenen Symbol, um den Punkt auf der Karte angezeigt werden soll. Ich habe diese Arbeit gut. Aber was würde ich auch tun mag, ist die Standard-callout-Ansicht (die Blase, die mit dem Titel / Untertitel zeigt, wenn das Anmerkungssymbol berührt wird) außer Kraft zu setzen. Ich möchte die Legende in der Lage sein, sich selbst zu steuern: die MapKit bietet nur Zugriff auf den linken und rechten Neben callout Ansichten, aber keine Möglichkeit, eine benutzerdefinierte Ansicht für die Hinweisblase zu schaffen, oder es Null Größe zu geben, oder irgendetwas anderes.
Meine Idee war selectAnnotation / deselectAnnotation in meinem außer Kraft zu setzen MKMapViewDelegate, und dann zieht meine eigene benutzerdefinierte Ansicht , indem sie einen Anruf zu meiner benutzerdefinierten Anmerkungsansicht. Dies funktioniert, aber nur dann , wenn canShowCalloutfestgelegt ist YESin meiner benutzerdefinierten Anmerkungsansicht Klasse. Diese Methoden werden nicht genannt , wenn ich diesen Satz müssen NO(das ist , was ich will, so dass die Standard - Hinweisblase nicht gezeichnet). So habe ich keine Möglichkeit zu wissen , ob der Benutzer auf meinem Punkt auf der Karte berühren (es ausgewählt ist ) oder einen Punkt berühren , die nicht Teil meiner Beschriftungsansichten ist (delected es) , ohne die Standard - Hinweisblase View zeigen zu müssen.
Ich habe versucht, geht einen anderen Weg nach unten und Handhabung einfach alle Touch-Ereignisse selbst in der Karte, und ich kann nicht diese Arbeit zu bekommen scheinen. Ich lese andere verwandte Beiträge Touch-Ereignisse in der Kartenansicht zu fangen, aber sie sind nicht genau das, was ich will. Gibt es eine Möglichkeit in die Kartenansicht zu graben, um die Hinweisblase zu entfernen, bevor Zeichnung? Ich bin ratlos.
Irgendwelche Vorschläge? Bin ich etwas fehlt offensichtlich?













