有人成功地重写了setDragState中的MKAnnotationView方法吗?
如果我尝试使用“mkannotationview setDragState”在Google上搜索它,那么我只会获得3次点击!其中之一是我在stackoverflow上发表的另一篇文章;)

该引用资料说,当对MKAnnotationView进行子类化时,子类必须关心dragstate。但这并没有说出确切的方法。仅将dragstate设置为MKAnnotationViewDragStateDraggingMKAnnotationViewDragStateCanceling似乎还不够。因为如果我只是这样做,那么问题之一就是mapview没有收到mapView:annotationView:didChangeDragState:fromOldState:委托(delegate)函数。

我试图通过在 super 类中也设置dragState来覆盖它。但是此时会发生其他错误:例如,如果我拖动注释 View 并且手指离开屏幕,则该应用程序将崩溃,并出现诸如“无法删除键路径拖动状态的观察者”之类的信息(但我的子类没有我所知道的任何观察者) 。因此,似乎还有其他需要注意的事情。

在苹果开发者论坛https://devforums.apple.com/message/203107#203107 aroonicus上的这篇文章(苹果的一个家伙)提到您必须重写[MKAnnotationView setDragState:],但可悲的是他没有告诉您如何操作。

有人可以帮忙吗?有人知道如何重写setDragState吗?是否有人创建了覆盖setDragState的MKAnnotationView的工作子类?

再见,

最佳答案

引用此线程
请参阅第二个答案,其中一个自定义注释 View 类用于覆盖现有的 View 类。有用

Subclassing MKAnnotationView and overriding setDragState

关于iphone - 子类MKAnnotationView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3716061/

10-14 02:35