MKAnnotation 自定义标注按钮一般操作 - 如何知道它来自哪个注释? (iPhone)

发布于 2024-12-29 15:46:47 字数 257 浏览 2 评论 0原文

我正在开发一个 MapKit 应用程序,它使用一大堆 MKAnnotations 来标记位置。我想要的是将按钮放入标注中,用户可以按下这些按钮以在所选位置上执行操作。到目前为止,我已经看到了一些示例,您可以在每个标注上放置特定的处理程序,例如苹果示例代码“MapCallouts”。

我想对所有通用注释标注使用一个处理程序,理想情况下我会传入活动标注的 MKAnnotation。

我在谷歌上搜索了又搜索没有结果,有人可以给我一个指针或链接吗?

谢谢!

I'm developing a MapKit app which uses a whole bunch of MKAnnotations to mark locations. What I want is to put buttons into the callouts which the user can press to perform an action on the selected location. So far I have seen examples where you can put a specific handler onto each callout, like the apple sample code "MapCallouts".

I want to use one handler for all of the annotation callouts which is general purpose, where I would ideally pass in the MKAnnotation for the active callout.

I've searched and searched in Google to no avail, can anybody give me a pointer or a link?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

书间行客 2025-01-05 15:46:47

我更喜欢使用 calloutAccessoryControlTapped 委托,而不是使用 addTarget 添加您自己的处理程序方法,然后使用 selectedAnnotations 属性来确定点击了哪个注释。方法。

在该委托方法中,使用 view.annotation 访问点击的注释,如果您定义了具有其他属性的自定义注释类,则可以使用 (MyAnnotationClass * )view.annotation

Instead of adding your own handler method using addTarget and then using the selectedAnnotations property to figure out which annotation was tapped, I prefer using the calloutAccessoryControlTapped delegate method.

In that delegate method, the annotation tapped is accessed using view.annotation and if you've defined a custom annotation class with additional properties, you can do a cast to access them using (MyAnnotationClass *)view.annotation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文