2010-11-26 3 views
2

Je suis tombé sur un code sur ce site: http://www.eidac.de/?p=183 qui donne la même fonction que l'annotation dans le MapKit, il fonctionne très bien lorsque le texte d'étiquette de l'annotation est court. Cependant, lorsque le texte est long, l'Uibutton est unclickabla, est-ce que quelqu'un utilise le code et a la solution? remerciementsIPhone SDK calloutview remplacement

Répondre

1

La partie layoutSubviews de CallOutView.m comporte des bogues qui rendent la trame de CalloutView trop petite (les événements tactiles ne sont pas transmis au bouton car le bouton est en dehors des limites de la vue). Bien que je pense que la fonction doit être entièrement réécrite, le moyen le plus simple de résoudre le problème est de supprimer le self.frame = frame; à la ligne 186 et d'ajouter ce qui suit à la fin de la fonction.

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;