Je travaille actuellement avec le MapKit et je suis coincé.
J'ai une vue d'annotation personnalisée J'utilise, et je veux utiliser la propriété d'image pour afficher le point sur la carte avec mon propre icône. J'ai ce beau travail. Mais ce que je voudrais aussi faire est de passer outre la vue par défaut callout (la bulle qui apparaît avec le titre / sous-titre lorsque l'icône d'annotation est touché). Je veux être en mesure de contrôler la légende elle-même: le MapKit ne donne accès à la gauche et des vues à droite de callout auxiliaires, mais aucun moyen de fournir une vue personnalisée pour la bulle callout, ou pour lui donner la taille zéro, ou quoi que ce soit d'autre.
Mon idée était de passer outre selectAnnotation / deselectAnnotation dans mon MKMapViewDelegate, puis dessiner ma propre vue personnalisée en faisant un appel à mon avis d'annotation personnalisée. Cela fonctionne, mais seulement quand canShowCalloutest réglé sur YESmon annotation personnalisée classe d'affichage. Ces méthodes ne sont pas appelés si j'ai cet ensemble àNO (qui est ce que je veux, de sorte que la bulle par défaut est callout pas dessinée). J'ai donc aucun moyen de savoir si l'utilisateur a touché mon point sur la carte ( demandée ) ou touché un point qui ne fait pas partie de mon point de vue d'annotation (delected) sans avoir la vue de la bulle callout par défaut apparaître.
J'ai essayé d'aller sur un chemin différent et la manipulation juste tous les événements me toucher sur la carte, et je ne peux pas sembler obtenir ce travail. J'ai lu d'autres commentaires à attraper les événements tactiles dans la vue de la carte, mais ils ne sont pas exactement ce que je veux. Est-il un moyen de creuser dans la vue de la carte pour enlever la bulle avant de tirer callout? Je suis à perte.
Aucune suggestion? Est-ce que je manque quelque chose évidente?













