Fondamentalement, mon programme affiche de nombreuses annotations sur une carte. après que l'utilisateur clique sur un, il affiche le titre de l'emplacement. Comment puis-je ajouter un bouton sous le titre qui affichera une nouvelle fenêtre avec plus d'informations sur l'emplacement? Je me contenterais également d'un bouton en bas de l'écran qui est grisé jusqu'à ce qu'un emplacement soit sélectionné.Comment ajouter un bouton au sous-titre d'une annotation personnalisée MkMapView?
0
A
Répondre
2
Dans la méthode viewForAnnotation, définissez un bouton comme la vue accessoire callout:
annotationView.canShowCallout = YES;
UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
annotationView.rightCalloutAccessoryView = button;
Vous pouvez utiliser rightCalloutAccessoryView ou leftCalloutAccessoryView mais le documentation recommande de mettre un bouton d'information sur le droit.
Répondez au bouton de la méthode calloutAccessoryControlTapped.
Je suis nouveau à ce sujet, alors s'il vous plaît pardonnez-moi quand je demande où cette méthode viewForAnnotation est exactement. J'ai trois fichiers .h/.m pour la vue principale: AnnotationView, Annotation et MainViewController. quel fichier dois-je placer sous? –
viewForAnnotation est une méthode que vous implémentez dans la classe qui implémente le protocole MKMapViewDelegate. Je suppose pour vous que ce serait MainViewController. Je suggère de regarder l'application exemple Apple MapCallouts. Dans là, viewForAnnotation est implémentée de manière similaire à l'exemple que j'ai donné (voir MapViewController.m). Le lien de documentation dans ma réponse a un lien vers MapCallouts ou vous pouvez rechercher apple.com pour cela. – DyingCactus