【问题标题】:How do I load different custom pins or identifiers based off of their property values?如何根据属性值加载不同的自定义引脚或标识符?
【发布时间】:2011-09-02 20:11:41
【问题描述】:

我有一个符合<MKAnnotation> 的对象数组。 我使用 addAnnotations 将此数组加载到我的注释中:。

在方法中:

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

我让每个引脚都使用以下方法加载自定义图像:

annotationView.image = [UIImage imageNamed:@"purp_pin.png"];

但是,我不希望所有图钉都与此图像一起加载。我希望它根据符合&lt;MKAnnotation&gt; 的对象具有的属性加载不同的自定义图像/标识符。

我该怎么做?

【问题讨论】:

    标签: iphone objective-c ios mkmapview mkannotation


    【解决方案1】:

    如果您的对象中有一些符合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 属性,无论注释视图是出队还是创建。

    【讨论】:

    • 啊,谢谢。我不知道我必须这样投。现在对我来说很有意义 =)
    猜你喜欢
    • 2016-11-17
    • 2015-01-05
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    相关资源
    最近更新 更多