我将annotation
放在地图上,点击图钉后,右侧应该有一个detail disclosure info button
,因此我可以在点击按钮后添加更多代码。但是当我运行项目时,点击图钉,没有显示info button
。任何人都可以提供添加disclosure info button
的代码吗?
我的代码:
extension ViewController: MKMapView{
func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
}
答案 0 :(得分:5)
创建MKAnnotationView
并为其添加按钮。所以:
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if annotation is MKUserLocation { return nil }
if let annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "") {
annotationView.annotation = annotation
return annotationView
} else {
let annotationView = MKPinAnnotationView(annotation:annotation, reuseIdentifier:"")
annotationView.isEnabled = true
annotationView.canShowCallout = true
let btn = UIButton(type: .detailDisclosure)
annotationView.rightCalloutAccessoryView = btn
return annotationView
}
}