【发布时间】:2012-09-02 17:52:39
【问题描述】:
我正在插入一种新的注释,与以前的注释不同,它们的行为很疯狂。当显示一个区域的地图时,代表会被传递属于一个遥远区域的注释,报告他们自己的特征。然而,它们恰好出现在正确注释应该出现的位置! 90% 的情况都会发生这种情况,其余的是正确的注释,并且显示的注释始终属于可用注释的严格子集。
可能会产生这种奇怪的行为以及如何解决它?
问题是我到处都使用了一个静态标识符。一旦我使用了一个带有依赖于注解的标识符的字符串,一切都得到了整理。
【问题讨论】:
-
可能没有正确处理重复使用的注释视图。发布 viewForAnnotation 委托方法。
-
澄清我使用了教程中建议的静态标识符,但这样它在任何地方都重用了完全相同的注释。我必须说我对 dequeueReusableAnnotationViewWithIdentifier 协议不是很清楚!
-
为每个注释使用不同的标识符可能已经“解决”了您的问题,但它会破坏可重用性并且如果您有大量注释可能会影响性能。
标签: ios mkannotation mkannotationview mkmapviewdelegate