gpt4 book ai didi

iphone - 为什么自定义 MKMapView 注释图像在触摸时消失?

转载 作者:行者123 更新时间:2023-12-03 18:41:30 24 4
gpt4 key购买 nike

我正在注释我的 map 并设置图像,效果很好,但是当我点击 MapView 上的注释时,图像从我的自定义图像返回到红色图钉。这是为什么?

- (MKAnnotationView *)mapView:(MKMapView *)newMapView viewForAnnotation:(id )newAnnotation {
MKPinAnnotationView *annotation = [[MKPinAnnotationView alloc] initWithAnnotation:newAnnotation reuseIdentifier:@"currentloc"];
if (annotation == nil) {
annotation = [[MKAnnotationView alloc] initWithAnnotation:newAnnotation reuseIdentifier:@"currentloc"];
}

annotation.image = [UIImage imageNamed:@"anno.png"];
annotation.canShowCallout = YES;
annotation.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bus_stop_30x30.png"]];
annotation.leftCalloutAccessoryView = imgView;

return annotation;
}

我的代码看起来与一些不会产生此问题的示例代码相同。

最佳答案

在这里回答我自己的问题,以防其他人遇到同样的问题。请注意,我正在使用“MKPinAnnotationView” - 应将其更改为“MKAnnotationView”并且一切正常。

固定代码:

- (MKAnnotationView *)mapView:(MKMapView *)newMapView viewForAnnotation:(id )newAnnotation {
MKAnnotationView *annotation = [[MKAnnotationView alloc] initWithAnnotation:newAnnotation reuseIdentifier:@"currentloc"];

if (annotation == nil) {
annotation = [[MKAnnotationView alloc] initWithAnnotation:newAnnotation reuseIdentifier:@"currentloc"];
}

annotation.image = [UIImage imageNamed:@"anno.png"];
annotation.canShowCallout = YES;
annotation.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bus_stop_30x30.png"]];
annotation.leftCalloutAccessoryView = imgView;

return annotation;
}

关于iphone - 为什么自定义 MKMapView 注释图像在触摸时消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1805897/

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