为什么我的注释视图不能改变图像?

时间:2014-01-14 21:47:45

标签: ios objective-c mkmapview

我想为我的图钉添加自定义图像,但出于某种原因,它不会更改为newpin.png图像。它仍然显示默认的红色引脚。如果有人能帮助我,我将深深体会到这一点。

 - (MKAnnotationView *)mapView:(MKMapView *)mapViewIn viewForAnnotation:(id <MKAnnotation>)annotation {
if (mapViewIn != self.mapView || [annotation isKindOfClass:[MKUserLocation class]]) {
    return nil;
}
static NSString *annotationIdentifier = @"places";
MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:annotationIdentifier];
if (!annotationView) {
    annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationIdentifier];

}

annotationView.animatesDrop = YES;
annotationView.canShowCallout = YES;
annotationView.image = [UIImage imageNamed:@"newpin.png"];

UIButton *detailButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[detailButton addTarget:self action:@selector(annotationDetailButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
annotationView.rightCalloutAccessoryView = detailButton;

return annotationView;
}

1 个答案:

答案 0 :(得分:2)

除非我弄错了,否则MKPinAnnotationView类只显示引脚,而不显示其他类型的图像。请尝试创建MKAnnotationView对象。