Как я могу сделать элементы управления интерактивными под наложением изображения?

#objective-c #cocoa-touch #ios

#objective-c #cocoa-touch #iOS

Вопрос:

Я разрабатываю интерфейс / представление, поверх которого я хотел бы разместить изображение. Я использую стандартные UILabels и UIButtons. Эти кнопки намеренно искажаются наложенным изображением, которое инкапсулирует весь экран. Все работает нормально, но, как и ожидалось, изображение препятствует нажатию любой из кнопок.

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

По сути, я хочу, чтобы эффекты наложения изображения, при этом события касания игнорировали изображение и переходили к элементам управления под ним.

Есть какие-нибудь идеи?

Ответ №1:

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

введите описание изображения здесь

просмотр иерархии -> изображение над кнопками

введите описание изображения здесь

Ответ №2:

Попробуйте anImageView.userInteractionEnabled = YES. Если вы используете UIImageView, значение userInteractionEnabled по умолчанию равно NO.