1

每个答案,我发现主题 about 说我只需要在右侧添加一个 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
4

0 回答 0