Как настроить UIView на получение ввода поверх mapView - PullRequest
0 голосов
/ 30 мая 2020

Это странно конкретный c вопрос, но я не могу понять его или найти ответ. У меня есть баннер, который свисает с панели навигации (виден скользящими ограничениями при низкой громкости). Я хочу, чтобы этот баннер можно было нажимать либо с помощью кнопки, либо с помощью распознавателя жестов, оба, похоже, не работают, и карта все еще контролируется под ним при нажатии

The banner in question '

Я пробовал:

  • настройка isExclusiveTouch = true в bannerView
  • вывод этого bannerView на вершину этого navigationView (giveSubViewToFront)
  • установка BannerView внизу в interfaceBuilder

Не уверен, что еще делать. Извините, если непонятно, при необходимости могу добавить больше примеров кода.

1 Ответ

0 голосов
/ 01 июня 2020

После долгих поисков я нашел ответ. Мне пришлось переопределить функцию hitTest родительского UIView. Мне пришлось это сделать, потому что для того, чтобы «показать» bannerView, я обновлял ограничения, чтобы сдвинуть его вниз (за пределами родительского представления). Поскольку он находился вне ограничений родительского представления, баннер игнорировал вводимые пользователем данные.

Примеры кода для obj- c и swift можно найти здесь:

Захват касаний subview вне кадра своего супервизора, используя hitTest: withEvent:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...