如何在注释中弹出按钮时导航到另一个控制器?

时间:2013-10-09 06:15:22

标签: ios annotations mkmapview

enter image description here

我可以在点击PIN时打开方法,但是我想在按下这个BLACK POP UP时调用一个方法,而不是PIN。

我该怎么做?

2 个答案:

答案 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;

}

你会在右上角看到一个按钮,如

enter image description here

点击此按钮

将调用此方法

- (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