2016-09-27 140 views
1

我在地圖上放置了annotation,點擊圖釘後,右側應該有detail disclosure info button,所以我可以在點擊按鈕後添加更多的代碼。但是當我運行該項目時,單擊該針腳,沒有info button顯示出來。任何人都可以提供代碼添加disclosure info buttonMapKit註釋如何添加詳細信息披露信息按鈕?

我期待的是右邊的Info按鈕:enter image description here

我的代碼:

extension ViewController: MKMapView{ 


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



    } 

回答

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 
     } 
    } 
+1

謝謝Rashwan,它運作良好! – developermike

+0

@Rob,更新了另一個例子。 –

+0

會做,感謝您的反饋! –