如何在选中时更改注释的字幕?

时间:2013-12-06 19:11:32

标签: ios mkmapview mkannotationview

我在加载的地图上有一些注释。我知道如何获取注释到用户位置的距离,并希望能够在用户选择时在字幕中显示它。

我以为我可以在这里做到。

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view

但问题是我无法分配新的字幕,因为它抱怨它是只读的。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

根据您的评论,您尝试的代码是这样的:

view.annotation.subtitle = @"something";

编译器会在此处给出错误“Assignment to readonly property”,因为annotation的{​​{1}}属性被键入为通用MKAnnotationView

id <MKAnnotation>协议将MKAnnotation定义为默认的唯一身份。


subtitle类(根据其他注释用于注释)实现MKPointAnnotation覆盖 MKAnnotation为可写。


为避免编译器错误,您需要将subtitle强制转换为view.annotation(在您的情况下确实如此)。例如:

MKPointAnnotation