Swift:在didSelect视图中更改引脚颜色:MKAnnotationView

时间:2017-12-03 21:31:49

标签: ios swift mkmapview

我试图更改didSelect view: MKAnnotationView中的引脚颜色:

func mapView(_ mapView: MKMapView,
             didSelect view: MKAnnotationView) {
    let selectedAnnotation = view.annotation as? MKPointAnnotation //ColorPointAnnotation
    //self.textField.text = selectedAnnotation!.title
    preferredSpot = selectedAnnotation!.title!
    view.tintColor = UIColor.green
}

但是当我点击一个针脚时它没有改变 - 仍然是红色的。有人知道为什么和/或如何改变它吗?

3 个答案:

答案 0 :(得分:1)

委托功能是:

optional func mapView(_ mapView: MKMapView, 
        didSelect view: MKAnnotationView)

答案 1 :(得分:1)

使用pinTintColor代替tintColor

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    if let view = view as? MKPinAnnotationView {
        view.pinTintColor = UIColor.green
    }
}

答案 2 :(得分:0)

由于 pin tint 现在已弃用,我想我会根据 Kosuke 的回答与 markerTint 分享我的更新版本。

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    if let view = view as? MKMarkerAnnotationView {
        view.markerTintColor = UIColor.systemBlue
    }
}