Кто-нибудь когда-нибудь успешно отменял метод setDragState
в MKAnnotationView
?
Если я попытаюсь найти это в Google с помощью " mkannotationview setDragState
", я получу только три результата! Один из них - мой другой пост о stackoverflow;)
В ссылке говорится, что при создании подкласса MKAnnotationView
подкласс должен заботиться о состоянии перетаскивания. Но не сказано, как именно. Одной установки состояния перетаскивания на MKAnnotationViewDragStateDragging
или, скорее, MKAnnotationViewDragStateCanceling
, кажется, недостаточно. Потому что, если я просто сделаю это, одна из проблем, например, будет в том, что mapview не получает функцию делегата mapView: annotationView: didChangeDragState: fromOldState:
.
Я попытался переопределить ее, установив dragState тоже в суперклассе. Но тут возникают другие ошибки: Например, если я перетаскиваю annotationView и мой палец убегает от экрана, приложение вылетает с чем-то вроде «не удается удалить наблюдателя для состояния перетаскивания пути» (но в моем подклассе нет наблюдателей, о которых я знаю). Так что, похоже, есть другие вещи, о которых нужно заботиться.
В этом сообщении на форуме разработчиков Apple https://devforums.apple.com/message/203107#203107 aroonicus, парень из Apple , упоминает, что вам нужно переопределить [MKAnnotationView setDragState:], но, к сожалению, он не говорит, как это сделать.
Кто-нибудь может помочь? Кто-нибудь знает, как переопределить setDragState? Создал ли кто-нибудь рабочий подкласс MKAnnotationView, переопределяющий setDragState?
Пока,
Бен