gpt4 book ai didi

iphone - calloutAccessoryControlTapped 未在 Storyboard中调用

转载 作者:行者123 更新时间:2023-11-28 18:25:03 24 4
gpt4 key购买 nike

我有一个包含 MKMapView 的 View ,我在其中显示了几个引脚:

- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
NSLog(@"mapView:viewForAnnotation");

// if it's the user location, just return nil.
if ([annotation isKindOfClass:[MKUserLocation class]]){
return nil;
}

static NSString* AnnotationIdentifier = @"AnnotationIdentifier";
MKPinAnnotationView *pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier];
pinView.canShowCallout = YES;
pinView.pinColor = MKPinAnnotationColorPurple;
pinView.annotation = annotation;

return pinView;
}

这工作正常,但方法:

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

在单击图钉时不会被调用。似乎点击事件没有传输到引脚,但我不知道为什么。有什么想法吗?

最佳答案

当图钉本身被点击时, map View 将调用委托(delegate)方法mapView:didSelectAnnotationView:

当注释 View 的 leftCalloutAccessoryViewrightCalloutAccessoryView 被点击时,调用 calloutAccessoryControlTapped 方法。这些是显示在图钉标注上的控件(通常是按钮)。

听起来您正在寻找 mapView:didSelectAnnotationView: 委托(delegate)方法。

关于iphone - calloutAccessoryControlTapped 未在 Storyboard中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11802712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com