我有一个符合<MKAnnotation>
的对象数组。
我使用addAnnotations:将此数组加载到注释中。
在方法中:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:
(id<MKAnnotation>)annotation
我每个引脚都使用以下方式加载自定义图像:
annotationView.image = [UIImage imageNamed:@"purp_pin.png"];
但是,我不希望所有引脚都加载该图像。我希望它根据符合
<MKAnnotation>
的对象具有的属性加载不同的自定义图像/标识符。我该怎么做?
最佳答案
如果您的对象中有一些符合MKAnnotation
的自定义属性,则可以在viewForAnnotation
中访问它来设置图像的一种方式是这样的:
MyAnnotationClass *myAnnot = (MyAnnotationClass *)annotation;
if (myAnnot.someProperty == 42)
annotationView.image = [UIImage imageNamed:@"purp_pin.png"];
else
annotationView.image = [UIImage imageNamed:@"default.png"];
确保设置了
image
属性,而不管注释视图是否已出队或已创建。