在 mkuserlocation 上,如何在 viewForAnnotation 中显示我自己的自定义消息
我想在 viewForAnnotation 中显示自定义消息而不是“我的位置”。我该怎么做?
谢谢 德肖恩
I want to show a custom message instead of "My Location" in viewForAnnotation. How do I do this?
Thanks
Deshawn
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在
MKMapView
的委托中,实现方法mapView:viewForAnnotation
并检查注释的类型是否为MKUserLocation
。如果是,请更改注释的标题和副标题属性。标注将自动提取新值。或者您可以创建一个全新的视图并将其返回到此处。免责声明:我还没有测试过这段代码。
In the delegate of your
MKMapView
, implement the methodmapView:viewForAnnotation
and check if the annotation is of typeMKUserLocation
. If yes, change the title and subtitle properties of the annotation. The callout will automatically pull the new values. Or you can create a totally new view and return it here.Disclaimer: I haven't tested this code.
可以通过更新
MKUserLocation
的Title
属性来完成。由于
MKAnnotation
协议不需要将Title
设置为属性,因此将注释作为参数传递给MKUserLocation
并设置该属性It can be done by updating
Title
property ofMKUserLocation
.As
MKAnnotation
protocol doesn't require makingTitle
a property, cast annotation passed as an argument toMKUserLocation
and set the property只需直接引用它也可以,就像这样...
这可以在您引用地图视图的任何地方完成。
Simply referring directly to it works too, like this...
This can be done from anywhere you have a reference to the map view.