子类化MKAnnotationView

5

有人成功地覆盖了MKAnnotationView中的setDragState方法吗? 如果我使用"mkannotationview setDragState"进行谷歌搜索,只会得到三个结果!其中一个是我在stackoverflow上发的另一篇文章 ;)

参考文献说,在子类化MKAnnotationView时,子类必须关心拖动状态。但它并没有说明具体如何做。仅将拖动状态设置为MKAnnotationViewDragStateDraggingMKAnnotationViewDragStateCanceling似乎不够。因为如果我只这样做,例如其中一个问题是地图视图不会接收mapView:annotationView:didChangeDragState:fromOldState:代理函数。

我尝试通过在超类中也设置dragState来覆盖它。但此时会出现其他错误:例如,如果我拖动注释视图并且我的手指离开屏幕,应用程序会崩溃,并显示类似于“无法删除观察者的键路径dragstate”的内容(但我知道我的子类没有任何观察者)。所以似乎还有其他事情需要关心。

在苹果开发者论坛上https://devforums.apple.com/message/203107#203107,来自苹果的aroonicus提到你必须重写[MKAnnotationView setDragState:],但遗憾的是他没有说明如何操作。
有人能帮忙吗?有人知道如何重写setDragState吗?有人创建了一个覆盖setDragState的MKAnnotationView的工作子类吗?
再见,
Ben
2个回答

3

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接