重写iOS SDK中的viewForAnnotation方法

发布于 2024-11-04 11:43:29 字数 181 浏览 0 评论 0原文

我想重写委托提供的 viewForAnnotation 方法。

我想再传递 1 个参数,type,以便我可以根据注释的类型更改引脚的颜色。

例如:我希望它是 viewForAnnotation:type:

有什么帮助吗?

I want to override the viewForAnnotation method provided by the delegate.

I want to pass 1 more argument, type, so that I can change the color of pins according to the kind of annotation.

For ex: I would want it to be viewForAnnotation:type:.

Any help ?

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

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

发布评论

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

评论(1

雨夜星沙 2024-11-11 11:43:30

不要尝试“覆盖”/替换 viewForAnnotation 委托方法。

相反,请将所需的任何属性添加到实现 MKAnnotation 协议的类(您实例化以传递给 addAnnotation 方法的属性)。

然后,在标准 viewForAnnotation 方法中,您可以在传递的 annotation 参数中访问自定义属性。您应该首先检查注释的类是否是您的自定义类,然后在尝试引用自定义属性之前对其进行强制转换。

如果您使用预定义的 MKPointAnnotation 类作为注释,则必须切换到您自己的自定义类。

Don't try to "override"/replace the viewForAnnotation delegate method.

Instead, add whatever properties you need to your class that implements the MKAnnotation protocol (the one you instantiate to pass to the addAnnotation method).

Then in the standard viewForAnnotation method, you can access your custom properties in the annotation parameter that is passed. You should first check if the annotation's class is your custom class and then cast it before trying to reference the custom properties.

If you're using the pre-defined MKPointAnnotation class for your annotations, you'll have to switch to your own custom class.

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