更改 MKAnnotationView 自定义图像?
我知道您可以使用以下内容创建自定义注释视图:
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
MKPinAnnotationView *annotationView = [[[CustomAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"CustomAnnotation"] autorelease];
annotationView.image = [UIImage imageNamed:@"customPin.png"];
return annotationView;
}
..但是如何更改代码其他部分中的图像..(在使用上述内容创建之后)?
I know you can create a custom annotation view using something like:
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
MKPinAnnotationView *annotationView = [[[CustomAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"CustomAnnotation"] autorelease];
annotationView.image = [UIImage imageNamed:@"customPin.png"];
return annotationView;
}
.. but how do I change the image in other parts of my code.. (after it has been created with the above)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能不再需要答案,但问题仍然没有答案。我通常做的就是向注释添加一个属性,告诉应该使用哪个图像。它可以是一个 BOOL、一个 UIImage 或几乎任何你喜欢的东西。
在 viewForAnnotation 中,我检查该值并设置适当的图像。
每当我想要更新图像时,我都会更改属性的值,然后删除并添加注释:
这样,就会重新绘制注释。
You probably don't need the answer anymore, but still, the question is unanswered. What I usually do is add a property to the annotation, telling which image should be used. It can be a BOOL, a UIImage, or pretty much whatever you like.
In
viewForAnnotation
, I check for that value and set the appropriate image.Whenever I want to update the image, I change the property's value, and I remove and add the annotation :
That way, the annotation is re-drawn.