为什么calloutAccessoryControlTapped也被称为在注解视图上点击?

我在我的视图控制器上有一个地图,我不知道为什么,但我只是点击注释视图时,不仅仅是当我点击细节闭包时调用委托calloutAccessoryControlTapped 也被称为 。 那为什么这个行为?

 import UIKit import MapKit extension MapVC: MKMapViewDelegate, CLLocationManagerDelegate { func mapView(mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) { ... } } 

根据苹果开发者文档:

配件视图包含自定义内容,并位于注释标题文本的任一侧。 如果您指定的视图是UIControl类的后代,那么无论用户何时点击视图,地图视图都会调用此方法。 您可以使用此方法来响应水龙头,并执行与该控件相关的任何操作。 例如,如果您的控件显示了关于注释的附加信息,则可以使用此方法来显示带有该信息的模式面板。

如果您的自定义附件视图不是UIControl类的后代,则地图视图不会调用此方法。

那么你从UIControlinheritance的配件视图?

参考: https :/ / dev / app /