如何使整个呼叫可以进行?

我在地图上添加了注释并添加了标题,leftCalloutAccessoryView(ImageView)和rightCalloutAccessoryView(UIButton),当点击按钮它播放音频时,我想要而不是点击按钮,当我将在标注的顶部开始播放音频。

func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? { var annotationView = mapView.dequeueReusableAnnotationViewWithIdentifier("AnnotationImage") if annotationView == nil { if annotation.isKindOfClass(Annotation) { annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "AnnotationImage") annotationView?.rightCalloutAccessoryView = self.playButton() // Custome button for rightCallOut. annotationView?.leftCalloutAccessoryView = UIImageView(image: UIImage(named: "annotationPinImage")) annotationView?.image = UIImage(named: "annotationPinImage.pdf") annotationView?.canShowCallout = true annotationView?.userInteractionEnabled = true } else { annotationView?.annotation = annotation } return annotationView } 

//播放按钮方法:

  func playButton() -> UIButton { let image: UIImage = UIImage(named: "BtnPlayAudio.pdf")! let button: UIButton = UIButton(type: .Custom) button.frame = CGRectMake(0, 0, image.size.width, image.size.height) button.setImage(image, forState: .Normal) return button } 

提前致谢。

添加一个手势识别器…未经测试,让我知道它是否有效? 我使用了双击,导致单人太容易开火……

请注意,tapGestureRecognizer最终可能需要是一个类变量。

 let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: "tapped:") tapGestureRecognizer.numberOfTapsRequired = 2 annotationView.addGestureRecognizer(tapGestureRecognizer) func tapped(sender: UITapGestureRecognizer) { print("tapped ",sender) // play sound }