如何更改 MapView 注释中的标注气泡颜色?
Posted
技术标签:
【中文标题】如何更改 MapView 注释中的标注气泡颜色?【英文标题】:How to change the callout bubble color in MapView annotation? 【发布时间】:2013-07-10 12:18:37 【问题描述】:我希望能够显示一个蓝色气泡(默认为黑色)用于标注标注。
无论我在哪里搜索,我都只会获得示例来实现 viewForAnnotation 委托方法,但这只会更改 annotationView 而不是顶部的气泡。
但是我希望 pinColor 是绿色的,所以我确实重写了这个方法,这里是代码。 我可以做其他事情来为 callOut 提供 backgroundImage 或更改它的 tintColor 吗?
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
MKPinAnnotationView *annView=[[[MKPinAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:@"pin"] autorelease];
annView.pinColor = MKPinAnnotationColorGreen;
[annView setEnabled:YES];
[annView setCanShowCallout:YES];
return annView;
这是它现在的样子:
我想让它看起来像这样:
【问题讨论】:
【参考方案1】:在 ios7 上,您可以使用 mapView 上的 tintColor 属性来更改显示按钮的颜色。
【讨论】:
对于那些只遇到由于气泡的自定义颜色而无法显示的 ios7 自定义按钮的问题的人来说,这是一个很好的答案。但标记为正确的答案更适合问题!【参考方案2】:您可以使用自定义注释,如http://blog.asynchrony.com/2010/09/building-custom-map-annotation-callouts-part-2/ 所述
【讨论】:
是的,我已经下载了示例,我正在查看它。但问题是它为其他 annotationView 显示另一个 annotationView 对吗? 这个想法是显示另一个注释视图而不是你的标注气泡,但看起来仍然像标注。从这个意义上说是的。我发现这个库非常好(快速、高效)。 该示例在其上显示了图像。但背景是黑灰色的。我可以更改背景颜色吗? 是的,你可以。如果您仔细查看该库,您会明白它为您提供了一个自定义视图,您可以轻松地设置其背景清晰颜色。然后,您可以将自定义视图添加到该视图。我建议您不要使用默认标注(尽管您想更改颜色)。您可以更好地查看:)以上是关于如何更改 MapView 注释中的标注气泡颜色?的主要内容,如果未能解决你的问题,请参考以下文章