MKPinAnnotationView .tintColor和.image不变

时间:2019-08-29 09:37:34

标签: mkannotationview

我正在将针脚添加到MKMapView。最初是MKPointAnnotations,还添加了mapView(_ mapView:MKMapView,viewFor注释:MKAnnotation)-> MKAnnotationView?并将map.delegate设置为self。

我的问题是:为什么MKAnnotationView的某些属性(即.backgroundColor,.isSelected)响应而其他属性(.tintColor和.image)却没有响应?

很高兴收到任何建议,尽管我还有一些头发要拔!

我能想到的一切。

func mapView(_ mapView:MKMapView,viewFor注释:MKAnnotation)-> MKAnnotationView? {

    guard annotation is MKPointAnnotation else { return nil }

    let identifier = "Annotation"
    var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)

    if annotationView == nil {
        annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
        annotationView!.canShowCallout = true
    } else {
        annotationView!.annotation = annotation
    }
    if annotation.title == "Incident" {
        annotationView?.isSelected = true                                           //This works
    } else {
        annotationView?.backgroundColor = .green                                    //This works
        annotationView?.image = UIImage(imageLiteralResourceName: "hospital-icon")  //This doesn't
        annotationView?.tintColor = .green                                          //And this doesn't
    }
    return annotationView
}

0 个答案:

没有答案