我有一個自定義MKPinAnnotationView創建爲這樣:按鈕內部的自定義圖標查看未響應(SWIFT)
func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
if annotation is MKUserLocation {
//return nil so map view draws "blue dot" for standard user location
return nil
}
let reuseId = "pin"
var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView
if pinView == nil {
pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
pinView!.canShowCallout = false
pinView!.animatesDrop = true
pinView!.pinColor = .Red
pinView!.draggable = true;
} else {
pinView!.annotation = annotation
}
return pinView
}
然後我添加一個子視圖到後來用這樣的一個按鈕:
func mapView(mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!) {
view.addSubview(confirm)
}
問題是子視圖中的按鈕根本沒有響應。可能是什麼原因造成的?我已經嘗試使用userInteraction啓用。 感謝
你不想使用內置的rightCalloutAccessoryView或leftCalloutAccessoryView屬性?如果將它們設置爲UIButton,則輕敲它們將調用calloutAccessoryControlTapped委託方法。 – Anna