我有一个MKPinAnnotationView,在我的viewForAnnotation方法中,我执行以下操作:
customPinView.image = [UIImage imageNamed:@"blah.png"];
我已将blah.png添加到我的资源中(通过拖动文件)
但我仍然看到股票图钉而不是我的图像。难道我做错了什么?这是完整的代码:
- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString *AnnotationViewID = @"annotationViewID";
MKAnnotationView *annotationView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];
if (annotationView == nil)
{
annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease];
}
annotationView.image = [UIImage imageNamed:@"blah.png"];
annotationView.annotation = annotation;
return annotationView;
}
答案 0 :(得分:1)
要使用自定义图片获取标注,在viewForAnnotation
委托方法中,您可以为图片设置leftCalloutAccessoryView
或rightCalloutAccessoryView
(尽管右边的图片通常是用于披露按钮):
annotationView.canShowCallout = YES;
UIImage *img = [UIImage imageNamed:@"something.png"];
annotationView.leftCalloutAccessoryView =
[[[UIImageView alloc] initWithImage:img] autorelease];