有人成功地重写了setDragState
中的MKAnnotationView
方法吗?
如果我尝试使用“mkannotationview setDragState
”在Google上搜索它,那么我只会获得3次点击!其中之一是我在stackoverflow上发表的另一篇文章;)
该引用资料说,当对MKAnnotationView
进行子类化时,子类必须关心dragstate。但这并没有说出确切的方法。仅将dragstate设置为MKAnnotationViewDragStateDragging
或MKAnnotationViewDragStateCanceling
似乎还不够。因为如果我只是这样做,那么问题之一就是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/