2010-11-26 25 views
2

Ich stieß auf einen Code auf dieser Seite: http://www.eidac.de/?p=183, die die gleiche Funktion wie die Anmerkung im MapKit geben, es funktioniert gut, wenn der Etikettentext der Anmerkung kurz ist. Wenn der Text jedoch lang ist, ist der Uibutton unclickabla, benutzt jemand den Code und hat die Lösung? DankeIPhone SDK calloutview Ersatz

Antwort

1

Der Abschnitt layoutSubviews von CallOutView.m enthält Fehler, die den Rahmen des CalloutView zu klein machen (Berührungsereignisse werden nicht an die Schaltfläche übergeben, da sich die Schaltfläche außerhalb der Grenzen der Ansicht befindet). Während ich denke, dass die Funktion insgesamt neu geschrieben werden muss, ist der einfachste Weg, um das Problem zu beheben, das Löschen der self.frame = frame; Zeile 186 und das Hinzufügen der folgenden am Ende der Funktion.

frame.size.width = calloutLeft.frame.size.width + 
     calloutCenter.frame.size.width + calloutRight.frame.size.width + 
     calloutButton.frame.size.width + MIN_RIGHT_IMAGE_WIDTH; 
self.frame = frame;