func mapView(_ mapView: MKMapView, viewFor annotation: 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
annotationView!.pinTintColor = UIColor.redColor
} else {
annotationView!.annotation = annotation
}
return annotationView
}
为什么出现错误“类型为'MKAnnotationView'的值没有成员'pinTintColor'”?我想在不更改图像的情况下将针脚的颜色从橙色更改为蓝色。我使用swift 5.2和xcode 11.4.1
从编译器的角度来看,annotationView
是MKAnnotationView?
,仅此而已。您可以像这样重写支票:
if annotationView == nil {
let pin = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
pin.canShowCallout = true
pin.pinTintColor = UIColor.redColor
annotationView = pin
}