gpt4 book ai didi

ios - 使用 MKPinAnnotationView 仅更改信息气泡?

转载 作者:行者123 更新时间:2023-11-29 01:48:46 26 4
gpt4 key购买 nike

我想使用普通的 MKPinAnnotationView,但我想为标注使用自定义 View 。我能找到的每一个解决方案似乎都是黑客攻击或无法保持正常的掉针行为

谁能提供替换 MKPinAnnotationView 标注的最简单方法的示例?

最佳答案

你必须覆盖

-(MKAnnotationView*) mapView:(MKMapView *)mkMapView viewForAnnotation:(id<MKAnnotation>)annotation

函数,返回自定义 MKAnnotationView。在这个 View (您创建的)中,您可以使用 drawRect 函数自定义布局。

这是我的自定义气泡的样子:

Custom callout

这是我的 viewForAnnotation:

-(MKAnnotationView*) mapView:(MKMapView *)mkMapView viewForAnnotation:(id<MKAnnotation>)annotation
{
if ([annotation isKindOfClass:[YourAnnotation class]]) {
YourAnnotationView *yourAnnotationView = (YourAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:@"YourAnnotation"];

if(!yourAnnotationView)
{
yourAnnotationView = [[YourAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:@"YourAnnotation"];
}
[yourAnnotationView setTitle:annotation.title];
[yourAnnotationView setSubtitle:annotation.subtitle];

yourAnnotationView.draggable = YES;

return yourAnnotationView;
}
else
{
MKPinAnnotationView *annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation
reuseIdentifier:@"GPXAnnotation"];
annotationView.canShowCallout = NO;
annotationView.pinColor = MKPinAnnotationColorGreen;

annotationView.draggable = YES;
return annotationView;
}
return nil;
}

希望它能帮助你朝着正确的方向前进!

关于ios - 使用 MKPinAnnotationView 仅更改信息气泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31642443/

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