有人曾经成功地覆盖了方法setDragState
吗MKAnnotationView
?如果我尝试用“ mkannotationview setDragState
”搜索它,我只会得到三个点击!其中之一是我在 stackoverflow 上的另一篇文章;)
参考资料说,当子MKAnnotationView
类化时,子类必须关心拖动状态。但它并没有说到底如何。仅将拖动状态设置为MKAnnotationViewDragStateDragging
或者更确切地说MKAnnotationViewDragStateCanceling
似乎是不够的。因为如果我只是这样做,那么问题之一就是 mapview 没有接收到mapView:annotationView:didChangeDragState:fromOldState:
委托函数。
我试图通过在超类中设置 dragState 来覆盖它。但是此时会发生其他错误:例如,如果我拖动 annotationView 并且我的手指从屏幕上滑出,应用程序会崩溃,并出现“无法删除 keypath dragstate 的观察者”之类的内容(但我的子类没有我知道的任何观察者) . 所以似乎还有其他事情需要关心。
在苹果开发者论坛https://devforums.apple.com/message/203107#203107的这篇文章中,来自苹果的 aroonicus 提到你必须覆盖 [MKAnnotationView setDragState:] 但遗憾的是他没有告诉如何去做。
有人可以帮忙吗?有人知道如何覆盖 setDragState 吗?是否有人创建了 MKAnnotationView 的工作子类来覆盖 setDragState?
再见,
本