Mi tarea consiste en anular la selección de una anotación de mapa en el segundo toque.Cómo deseleccionar una anotación de mapa en la segunda pulsación
No encontré cómo hacerlo con las funciones mapView. Por lo que utiliza un artículo de stackoverflow y hacer así:
- (void)viewDidLoad
{
annotationTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(annotationTapRecognized:)];
annotationTap.numberOfTapsRequired = 1;
annotationTap.delegate = self;
}
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
[view addGestureRecognizer:annotationTap];
}
- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view
{
[view removeGestureRecognizer:annotationTap];
}
- (void)annotationTapRecognized:(UIGestureRecognizer *)gesture
{
NSArray *selectedAnnotations = self.viewMap.selectedAnnotations;
for (MapAnnotation *annotationView in selectedAnnotations) {
[self.viewMap deselectAnnotation:annotationView animated:NO];
}
}
Parece obras correcta, pero no lo es. Cuando toco la anotación, la segunda vez desaparece y aparece de nuevo.
¿Alguna idea?
Gracias de antemano.
¿Pero dónde he agregado esto? Pensé acerca de esto. Pero, ¿cómo puedo prohibir mostrar texto destacado al hacer clic? Gracias. – Igor