誰かがのメソッドsetDragState
を正常にオーバーライドしたことがありMKAnnotationView
ますか?「」でグーグルしようとすると、mkannotationview setDragState
ヒット数は3つだけです。それらの1つはstackoverflowに関する私の別の投稿です;)
参照によると、サブクラスMKAnnotationView
をサブクラス化するときは、ドラッグステートを気にする必要があります。しかし、それは正確な方法を述べていません。ドラッグステートを設定するだけでは不十分MKAnnotationViewDragStateDragging
なMKAnnotationViewDragStateCanceling
ようです。mapView:annotationView:didChangeDragState:fromOldState:
それを行うと、たとえば、マップビューがデリゲート機能を受け取らないという問題が発生するためです。
スーパークラスでもdragStateを設定してオーバーライドしてみました。ただし、この時点で他のエラーが発生します。たとえば、annotationViewをドラッグして指が画面から外れると、アプリが「キーパスドラッグステートのオブザーバーを削除できません」などでクラッシュします(ただし、私のサブクラスには、知っているオブザーバーはありません)。 。ですから、他にも気をつけるべきことがあるようです。
アップルデベロッパフォーラムのこの投稿https://devforums.apple.com/message/203107#203107アップルの男であるaroonicusは、[MKAnnotationView setDragState:]をオーバーライドする必要があると述べていますが、残念ながら彼はその方法を教えていません。
誰か助けてもらえますか?setDragStateをオーバーライドする方法を知っている人はいますか?setDragStateをオーバーライドするMKAnnotationViewの動作するサブクラスを作成した人はいますか?
さよなら、
ベン