tengo pin anotación personalizada en aplicación:cambios personalizados pin anotación por defecto lápiz rojo al toque largo
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
return [kml viewForAnnotation:annotation type:state];
}
cuando vuelvo la vista personalizada y hacer setImage para annotationView de marca de posición tales como:
- (MKAnnotationView *)viewForAnnotation:(id <MKAnnotation>)point type:(int)state
{
// Find the KMLPlacemark object that owns this point and get
// the view from it.
for (KMLPlacemark *placemark in _placemarks) {
if ([placemark point] == point)
{
UIButton *disclosureButton = [UIButton buttonWithType: UIButtonTypeDetailDisclosure];
[[placemark annotationView] setCanShowCallout: YES];
[[placemark annotationView] setRightCalloutAccessoryView:disclosureButton];
if (state == 0)
{
[[placemark annotationView] setImage:[UIImage imageNamed:@"ic_pin_tour.png"]];
}
else
{
[[placemark annotationView] setImage:[UIImage imageNamed:@"ic_pin_point.png"]];
}
return [placemark annotationView];
}
}
return nil;
}
, pero si toco durante largo tiempo mi pin de anotación, cambia el aspecto a su vista predeterminada (RedPin). No puedo entender qué método se usa con un toque prolongado. Intenté jugar con UITapGestureRecognizer, pero no lo descubrí. Si solo toco el pin de anotación todo funciona bien y la vista de mi pin personalizada no desaparece. Se puede ver lo que quiero decir en esta captura de pantalla:
Así que, ¿por qué los cambios de apariencia pin anotación de mucho toque?
Gracias. me ayudo mucho. –
Funcionó como encanto. El hecho es que esa vista MKPinAnnotation es una subclase con vista de MKAnnotation con funcionalidad que no desea. – igraczech