iPhone: изменение размера UIImageView не меняет размер «сенсорной области» - PullRequest
0 голосов
/ 27 августа 2010

У меня есть UIImageView. В IB я прикрепил событие «Touch Up» к этому UIImageView, чтобы вызвать IBAction в моем коде. Это все отлично работает.

В некоторых случаях мне нужно изменить размер этого UIImageView в моем коде. Я делаю это по настройкам, это свойство 'frame'. Изменение размера работает отлично. Проблема в том, что «область касания» осталась в исходном размере.

Я имею в виду, что, скажем, я начинаю с UIImageView 100x100:

***
***
***

Затем измените размер до 200x100:

***xxx
***xxx
***xxx

В этом случае UIImageView отображается во всей области (* и x), но касания реагируют только в исходной области (представленной *).

Как мне также изменить размер области, реагирующей на сенсорные события?

РЕДАКТИРОВАТЬ: Я должен также упомянуть, что я также перемещаю источник UIImageView, в случае, если это имеет значение.

1 Ответ

0 голосов
/ 27 августа 2010

В IB я прикрепил событие «Touch Up» к этому UIImageView, чтобы вызвать IBAction в моем коде. Это все отлично работает.

Э-э-э-э, нет. События касания могут быть отправлены только подклассам UIControl, а UIImageView - нет.

Так что я думаю, что вы в замешательстве и у вас может быть больше взглядов, чем вы думаете. Возможно, вы добавили прозрачную кнопку поверх изображения, которое вы забыли изменить?

Обратите внимание, что вы также можете использовать UIButton с установленным изображением, если вам нужно поведение кнопки изображения.

...