我可以在点击PIN时打开方法,但是我想在按下这个BLACK POP UP时调用一个方法,而不是PIN。
我该怎么做?
答案 0 :(得分:1)
尝试添加rightCalloutAccessoryView
之类的
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString * identifier = @ "pinId" ;
MKAnnotationView *pin = [mapView dequeueReusableAnnotationViewWithIdentifier:identifier ];
if ( !pin &&(annotation != mapView.userLocation))
{
pin = [ [ MKAnnotationView alloc ] initWithAnnotation:annotation reuseIdentifier:identifier ];
pin.image = [UIImage imageNamed: @"g_pin.png" ];
pin.canShowCallout = YES;
pin.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
}
pin.annotation = annotation;
return pin;
}
你会在右上角看到一个按钮,如
点击此按钮
将调用此方法
- (void)mapView:(MKMapView *)_mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
NSLog(@"Pin Tapped");
}
这会帮助你.....享受
答案 1 :(得分:0)
使用两个委托方法
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view