覆盖iOS SDK中的viewForAnnotation方法

时间:2011-05-02 10:11:14

标签: iphone ios4 mkmapview

我想覆盖委托提供的viewForAnnotation方法。

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

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

任何帮助?

1 个答案:

答案 0 :(得分:1)

请勿尝试“覆盖”/替换viewForAnnotation委托方法。

相反,向实现MKAnnotation协议的类(您要实例化的协议传递给addAnnotation方法)添加所需的属性。

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

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