[MKAnnotationView setAnimatesDrop:]:无法识别的选择器发送到实例。但为什么?

时间:2011-05-24 15:15:17

标签: iphone mkannotationview mkpinannotationview

(MKAnnotationView *) mapView:(MKMapView *)theMapView
             viewForAnnotation:(id <MKAnnotation>)annotation
{
    if ([annotation isKindOfClass: [MyLocation class] ])
    {
        MKPinAnnotationView *annotationView = (MKPinAnnotationView *) [theMapView dequeueReusableAnnotationViewWithIdentifier:placemarkIdentifier];
        if(annotationView == nil)
        {
            annotationView = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:placemarkIdentifier];
        }
        else 
        {

            annotationView.annotation = annotation;         
        }

        annotationView.enabled = YES;
        annotationView.animatesDrop = NO;
        annotationView.pinColor = MKPinAnnotationColorPurple;
        annotationView.canShowCallout = YES;
        annotationView.draggable = YES;


       return annotationView;
    }
}
发送到实例的

[MKAnnotationView setAnimatesDrop:]:无法识别的选择器。 我使用了许多注释类(MKPinAnnotationView和MKAnnotationView)。可能是因为我使用dequeueReusableAnnotationViewWithIdentifier而发生此错误。

1 个答案:

答案 0 :(得分:3)

您应为两种类型的注释视图分配不同的标识符。否则,您将以MKPinAnnotationView结束,其中只需MKAnnotationView,反之亦然(您在此处遇到过)。