注释标注上的附件按钮

时间:2015-05-03 20:02:38

标签: ios mapkit

我正在尝试在我的地图注释中添加一个附件按钮,但我无法让它工作。我已经搜索了很多但似乎没有任何效果。请帮帮我!

这是我的代码:

override var hash : Int {
    return /* (your hash logic) */
}

我想在小注释的末尾有一个按钮,可以将您带到一个可以阅读更多内容的页面。

1 个答案:

答案 0 :(得分:1)

将您的viewcontroller设置为地图视图的委托并实施以下方法:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {
    if ([annotation isKindOfClass:[MKUserLocation class]]) {
        return nil;
    }

    MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:@"PinAnnotationView"];
    if (!annotationView) {
        annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"PinAnnotationView"];
        annotationView.canShowCallout = YES;
        annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    } else {
        annotationView.annotation = annotation;
    }

    return annotationView;
}

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
    MKPointAnnotation *annotation = view.annotation;
    NSLog(@"user tapped annotation with title: %@", annotation.title);
}