在MKAnnotationView(annotation: annotation, reuseIdentifier: "customAnnotation")
我正在自定义我的注释,主要是我在地图上更改注释的图像。以下代码在iOS 11上运行良好,但运行iOS 10或更低版本的设备不显示自定义的annoation图像。
当我在iOS 10上调用as? CustomAnnotationView
时,它会返回一个注释视图,但当我将它(CustomAnnotationView
)投射到if annotation is CustomAnnotation{
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "customAnnotation") as? CustomAnnotationView
if annotationView == nil{
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "customAnnotation") as? CustomAnnotationView
}
guard annotationView != nil else{
return nil
}
annotationView!.passedAnnotation = annotation as! CustomAnnotation
annotationView!.setUpAnnotation()
return annotationView
}
时,它返回nil。我签入Apple文档,iOS 3+应支持此代码。
IPprefix_by_netmask() {
subnetcalc 1.1.1.1 "$1" -n | sed -n '/^Netw/{s#.*/ #/#p;q}'
}
答案 0 :(得分:0)
该行:
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "customAnnotation") as? CustomAnnotationView
始终为nil
,因为您创建的是MKAnnotationView
,而不是CustomAnnotationView
。
将行更改为:
annotationView = CustomAnnotationView(annotation: annotation, reuseIdentifier: "customAnnotation")