IOS. Как включить прозрачное изображение для передачи штрихов к UIB-кнопке под ним? - PullRequest
4 голосов
/ 30 апреля 2011

Для приложения для iPad, которое я пишу, у меня есть контейнер UIView с двумя подпредставлениями, которые являются подклассами UIView:

  • UIImageView, часть изображения которого вырезана, чтобы показать, что находится под ним.
  • Кнопка UIB ниже UIImageView, которая открывается через вырезанную часть UIImageView.

Так как UIImageView перекрывает UIButton в пространстве, это предотвращает прикосновения к достижению UIButton, даже еслиUIButon полностью виден благодаря вырезу из альфа-матового стекла в UIImageView.Как мне разрешить UIImageView передавать штрихи своему брату UIButton?

Спасибо,
Doug

Ответы [ 3 ]

4 голосов
/ 30 апреля 2011

UIImageView обычно не блокирует касания, а UIViews делают.

Вы можете установить свойство userInteractionEnabled в перекрывающихся видах на NO, тогда касания должны проходить через них.написать собственный хит-тест, который перенаправляет нажатия на кнопку.

0 голосов
/ 22 октября 2013

Даже при включенном взаимодействии с пользователем, которое является значением по умолчанию при размещении UIImageView в Интерфейсном Разработчике, прикосновения должны проходить к вашей кнопке внизу, даже если ваш вид изображения имеет сплошной фон.Что-то еще должно происходить, как UIView, сидящий поверх кнопки.

Если вы пытаетесь сделать что-то более сложное, чтобы прикосновения проходили к нижележащим представлениям или отдельному контроллеру представления, представление которого находится снизу, я создал эту простую библиотеку с открытым исходным кодом:
https://github.com/natrosoft/NATouchThroughView
REAMDE и демонстрация показывают, как его использовать.

0 голосов
/ 01 мая 2013

В дополнение к ответу Бастиана мне также необходимо было снять отметку Opaque атрибут рисования в конструкторе интерфейсов для моего UIImageView

...