iOS MapKit: касание в выноске затрагивает annotationView, который отображается под выноской
Я мой MKMapView
У меня есть выноска MKAnnotationView
это прекрасно работает большую часть времени и выглядит так:
Значки в выноске являются кнопками.
Эта проблема:
В этом случае на карте скрывается аннотация, прямо за кнопкой. Когда я нажимаю на эту кнопку, AnnotationView за кнопкой получает событие касания. Когда я нажимаю кнопку без аннотации позади, кнопка получает событие касания.
Я выяснил это, используя принятый ответ Как отладить, кто ест мои прикосновения в UIKit?
Как я могу убедиться, что прикосновение к кнопке в выноске не будет съедено MKAnnotationView
что отображается за выноской?
Кодов очень много, и в настоящий момент я не знаю, какой код уместен для вас.
0 ответов
Нашел решение (с помощью hitTest решения не нашел):
Я сейчас использую свой UIView
в качестве выноски (для начала см. комментарий Робса под вопросом). Это не меняет мою проблему, описанную в вопросе.
Я заметил, что у меня нет описанной проблемы, когда я нажимаю кнопки в моем представлении выноски.
Поэтому я поместил невидимую настраиваемую кнопку на все мои неинтерактивные метки и textView. Информационная кнопка, показанная ниже, не делает ничего, кроме захвата нажатий. Его размер такой же, как у infoStackView ниже:
Это решение также должно работать, если annotationView.detailCalloutAccessoryView
используется, как и я, когда задавал вопрос.