MKMapView:在注释引脚上获取单击的事件

squ*_*123 19 cocoa-touch uitableview mkmapview ios

我正在使用一个MKMapView包含几个MKAnnotation引脚.
在地图上方,我显示了UITableView有关MKAnnotation针脚的详细信息.

我的问题:当我选择一个引脚时,我想选择相应的表格单元格.为此,如果选择了引脚,我想捕获一个事件/委托.我不是在谈论呼叫标注配件

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control  
Run Code Online (Sandbox Code Playgroud)

sof*_*ved 42

只是对此的更新 - 在iOS 4中有MKMapViewDelegate方法,可用于跟踪注释选择和取消选择:

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view
Run Code Online (Sandbox Code Playgroud)

  • 如果您想知道用户是否单击了扩展/选定的注释,您可以在didSelectAnnotationView中检查view.selected == YES (4认同)

Wil*_*ris 1

我还没有在 MapKit 中看到一个简单的方法来做到这一点。mapView:annotationWasTapped:代表上没有。

一种方法是提供您自己的注释视图子类。自定义注释视图可以在较低级别的事件处理程序中捕获引脚选择setSelected:animated:,并将该信息传递到您的视图控制器。