检测calloutAccessoryControlTapped委托中哪个附件视图被点击

ahe*_*ang 1 iphone objective-c ios

我想检测是否已通过下面的委托方法点击了rightCalloutAccessoryView,我该怎么做?

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

Emp*_*ack 11

calloutAccessoryControlTapped方法将在两个leftCalloutAccessoryView和的触发动作上触发rightCalloutAccessoryView.要区分附件视图,可以tag在创建附件视图时为其设置.在您的calloutAccessoryControlTapped方法中,您可以检查标记值并根据标记值执行相应的操作.

例如,考虑您已设置12tags您的leftright分别配套视图.然后你的calloutAccessoryControlTapped方法将如下所示,

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {

    if ([control tag] == 1) {

        // Left Accessory Button Tapped

    } else if ([control tag] == 2) {

        // "Right Accessory Button Tapped
    }
}
Run Code Online (Sandbox Code Playgroud)