Подкласс MKAnnotationView

Кто-нибудь когда-нибудь успешно отменял метод 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?

Пока,

Бен

5
задан Kampai 8 August 2014 в 19:05
поделиться