iOS MapKit: касание в выноске затрагивает annotationView, который отображается под выноской

Я мой MKMapView У меня есть выноска MKAnnotationView это прекрасно работает большую часть времени и выглядит так:

Значки в выноске являются кнопками.

Эта проблема:

В этом случае на карте скрывается аннотация, прямо за кнопкой. Когда я нажимаю на эту кнопку, AnnotationView за кнопкой получает событие касания. Когда я нажимаю кнопку без аннотации позади, кнопка получает событие касания.

Я выяснил это, используя принятый ответ Как отладить, кто ест мои прикосновения в UIKit?

Как я могу убедиться, что прикосновение к кнопке в выноске не будет съедено MKAnnotationView что отображается за выноской?

Кодов очень много, и в настоящий момент я не знаю, какой код уместен для вас.

0 ответов

Нашел решение (с помощью hitTest решения не нашел):

Я сейчас использую свой UIViewв качестве выноски (для начала см. комментарий Робса под вопросом). Это не меняет мою проблему, описанную в вопросе.

Я заметил, что у меня нет описанной проблемы, когда я нажимаю кнопки в моем представлении выноски.

Поэтому я поместил невидимую настраиваемую кнопку на все мои неинтерактивные метки и textView. Информационная кнопка, показанная ниже, не делает ничего, кроме захвата нажатий. Его размер такой же, как у infoStackView ниже:

Это решение также должно работать, если annotationView.detailCalloutAccessoryView используется, как и я, когда задавал вопрос.

Другие вопросы по тегам