ho perno annotazione personalizzati app:personalizzate modifiche pin annotazione pin rosso di default a lungo rubinetto
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
return [kml viewForAnnotation:annotation type:state];
}
dove torno visualizzazione personalizzata e fare setImage per annotationView di segnaposto come ad esempio:
- (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;
}
ma se tocco a lungo il mio pin annotazione cambia aspetto alla sua vista predefinita (RedPin). Non riesco a capire quale metodo viene chiamato al tocco lungo. Ho provato a giocare con UITapGestureRecognizer, ma non l'ho scoperto. Se tocchio il pin di annotazione tutto funziona correttamente e la mia vista pin di annotazione personalizzata non scompare. È possibile vedere cosa intendo in questa schermata:
Quindi, perché l'aspetto del pin di annotazione cambia al tocco lungo?
Grazie. mi ha aiutato molto –
Ha funzionato come fascino. Il fatto è che la vista MKPinAnnotation è una sottoclasse con la vista MKAnnotation con funzionalità che non vuoi. – igraczech