Tout d'abord ajouter une annotation à la carte et dans l' viewForAnnotation
méthode, la valeur de l' rightCalloutAccessoryView
à un bouton de type, disons, UIButtonTypeDetailDisclosure (je ne pense pas que le bleu de la touche info est disponible par défaut).
En appuyant sur le bouton d'appel de l' calloutAccessoryControlTapped
délégué de la méthode. Dans cette méthode, désélectionnez l'annotation et de montrer à votre liste. Par exemple:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
[mapView deselectAnnotation:view.annotation animated:YES];
YourContentViewController *ycvc = [[YourContentViewController alloc] init...
UIPopoverController *poc = [[UIPopoverController alloc] initWithContentViewController:ycvc];
[ycvc release];
//hold ref to popover in an ivar
self.annotationPopoverController = poc;
//size as needed
poc.popoverContentSize = CGSizeMake(320, 400);
//show the popover next to the annotation view (pin)
[poc presentPopoverFromRect:view.bounds inView:view
permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[poc release];
}
YourContentViewController est une sous-classe de UIViewController qui vous pouvez de code comme n'importe quel autre point de vue, contrôleur. L'application Maps ressemble à une UITableView dans le contenu.