每个回答,我发现主题是说我只需要在右边添加一个UIButtonType.DetailDisclosure按钮,然后会通知这个方法:
func mapView(mapView: MKMapView!, annotationView: MKAnnotationView, calloutAccessoryControlTapped control: UIControl)
无论是否单击按钮或标注本身,都会通知此方法。在我的情况下,如果我点击按钮,将通知该方法,但如果我点击标注,则不会通知。
这是我用来添加按钮的代码。正如您所看到的,我添加了自定义图像,但这并不重要。它也不会使用普通按钮。
let rightImage = UIImage(named: "rightIcon")
let rightButton = UIButton.buttonWithType(UIButtonType.DetailDisclosure) as UIButton
rightButton.setImage(rightImage, forState: UIControlState.Normal)
rightButton.frame = CGRectMake(0, 0, 16, 16)
pinView!.rightCalloutAccessoryView = rightButton