Пользовательский значок аннотации меняется на красный значок по умолчанию при долгом нажатии

У меня есть пользовательский значок аннотации в приложении:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
    return [kml viewForAnnotation:annotation type:state];
}

, где я возвращаю пользовательский вид и делаю setImage для annotationView метки, например:

- (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;
}

, но если я долго нажимаю на моем булавке аннотации он меняет внешний вид на свой де просмотр ошибок (RedPin). Я не могу понять, какой метод вызывается при долгом нажатии. Пытался поиграть с UITapGestureRecognizer, но не обнаружил. Если я просто коснусь булавки аннотации, все будет работать нормально, и мой пользовательский вид булавки аннотации не исчезнет. Вы можете увидеть, что я имею в виду, на этом снимке экрана: so useful image with example

Итак, почему внешний вид булавки аннотации меняется при долгом нажатии?

8
задан dive 24 November 2011 в 12:39
поделиться