防止选择 MKPointAnnotation

Apo*_*llo 2 objective-c mkmapview ios

有没有办法防止启用 MKMapView 实例中的注释。换句话说,当用户点击地图上的红色图钉时,有没有办法防止它突出显示图钉。现在,触摸时引脚会变暗......

编辑:我使用以下代码返回 MKPinAnnotationView

// To future MKMapView users - Don't forget to set _mapView's delegate
_mapView.delegate = self;

_annotation = [[MKPointAnnotation alloc] init];

_annotation.coordinate = myLocation;

[_mapView addAnnotation:_annotation];


-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation{

MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] initWithAnnotation:_annotation reuseIdentifier:@"id"];
pin.enabled = NO;

return pin;
}
Run Code Online (Sandbox Code Playgroud)

Sta*_*glo 5

在您的 上设置enabled为从您的委托方法返回(如果您还没有实现它,请执行它)。NOMKPinAnnotationView-mapView:viewForAnnotation:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 
{
    static NSString *annotationIdentifier = @"Annotation";
    MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:annotationIdentifier];

    if (!annotationView) {
        annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationIdentifier];
    }
    else {
        annotationView.annotation = annotation;
    }

    annotationView.enabled = NO;

    return annotationView;
}
Run Code Online (Sandbox Code Playgroud)