2010-08-10 5 views
1

J'ai joué avec le MapKit et suis tombé sur un scénario énigmatique que je ne suis pas assez créatif/compétent pour contourner. Dans ma demande de carte, j'ai un mapView sur lequel j'aimerais placer des épingles. Mon dilema vient du fait que mapView réutilise ses annotationViews. ce que je voudrais faire, c'est appuyer sur un bouton, puis laisser tomber un temporaire dragable pin afin d'enregistrer un emplacement que l'utilisateur aimerait utiliser. Cependant, cette vue d'annotation ne possède pas de droit CallCallOutAccesoryView. Quand vient le temps d'abandonner une épingle légitime, il est nécessaire de retirer la broche temporaire de la carte, puis d'en ajouter une avec les coordonnées de l'ancienne broche. Apparemment, Si je laisse tomber le legit Pin d'abord, puis retirez temp Pin, la mapView parvient encore en quelque sorte à réutiliser l'annotationView du tempPin qui n'a pas le rightCallOutAccesoryView quand je veux juste un nouveau pour la légitimité Pin qui en a un. Quelqu'un peut-il me dire comment cela pourrait être fait?supprimer/arrêter un mkAnnotationView spécifique d'être réutilisé

Ce que je dois faire dans une coquille de noix, est de supprimer une annotation, puis faire une nouvelle sans réutilisation de annotationView du vieux pin ...

Merci à l'avance.

+0

avez-vous obtenu n'importe où avec ceci? J'essaie de trouver une solution au même problème pour le moment. –

Répondre

1

Cela fait presque un an que j'ai posé cette question mais je me souviens de mon problème et la solution que j'ai implémentée était de toujours changer les attributs de la broche actuelle, sans jamais les supprimer, puis les rajouter leur. J'ai changé sa vue et changé l'annotation utilisée, et la prochaine fois que j'ai eu besoin d'une broche temp, j'en ai alloué une nouvelle et utilisé celle-ci jusqu'à ce que sa position soit corrigée et que calloutaccesoryview soit activé ..

l'avenir.

Questions connexes