MapKit注释如何添加详细信息披露信息按钮?

时间:2016-09-27 19:41:16

标签: ios swift xcode mapkitannotation

我将annotation放在地图上,点击图钉后,右侧应该有一个detail disclosure info button,因此我可以在点击按钮后添加更多代码。但是当我运行项目时,点击图钉,没有显示info button。任何人都可以提供添加disclosure info button的代码吗?

我希望右侧有一个信息按钮:enter image description here

我的代码:

extension ViewController: MKMapView{


func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {



  }

1 个答案:

答案 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
        }
    }