2014-11-27 2 views
0

Я пытался искать в Интернете и в своей «книге», чтобы найти окончательный ответ, но так и не смог. Я работаю с UIImageView и хочу подключить его к IBAction. Когда Ctrl-перетаскивание в мою корреляционную VC.m, это не позволит мне. Затем я попытался пройти проверку инспекторов атрибутов и пометить флажок «Взаимодействие с пользователем», а под инспектором идентификации я проверил черты флажок для кнопки. Разве это не должно привести к тому, что мой элемент/элемент управления сможет подключиться к действию? Копаясь немного дальше, я читал о пассивных, активных и статических элементах управления, но я понял, что вы должны подключить действие к любому элементу управления, с которым пользователь взаимодействует, поскольку все они наследуются от UIControl.IBAction не подключается к моему элементу

Любое просвещение очень ценится.

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

ответ

2

UIImageView не наследует от UIControl. Если вы хотите выполнить действие, когда пользователь коснется вашего изображения, вам нужно будет добавить к нему UIGestureRecognizer.

+0

Я изучал это, но думал, что подключение IBAction будет проще (видимо, невозможно :)) – awp2004

+0

У меня 4 изображения. Если я добавлю UIGestureRecognizer, как мне решить, какое изображение было затронуто. Поскольку подключенный IBAction принимает жест как параметр, я не вижу, чтобы Im смог использовать отправителя, чтобы решить, какое изображение было затронуто. (Я, скорее всего, буду использовать кнопки, но мне очень нравится знать, как это сделать) – awp2004

+0

'UIGestureRecognizer' имеет свойство' tag', которое принимает целое число. Используйте разные 'UIGestureRecognizer' с тем же' IBAction' для каждого 'UIImage' и присваивайте разные значения меток каждому жестом. Затем в IBAction вы можете проверить тег, используя 'if else', или с помощью оператора' switch', с помощью которого происходит обратное изображение. – iEngineer

1

Первая пара уточнений:

  • Черты характера используется только доступностью. Он не дает вам сенсорным обнаружения
  • включен также взаимодействие
  • Пользователь не означает, что вы думаете, что означает documentation

Я думаю, вам нужно какое-то UIGestureRecognizer или UIButton

+0

Настолько симпатичные в основном IBActions используются только для UIButtons? Не могли бы вы подробнее рассказать о чертах/доступности? – awp2004

+0

Ну его все в [документации] (https://developer.apple.com/library/ios/documentation/UIKit/reference/UIAccessibility_Protocol/index.html) IBActions можно установить на все, на что можно подключить UIGestureRecognizer (насколько я знаю, любой подкласс UIView имеет право на участие) – Yaser

+0

Ах, я только программным образом работал с жестами. Я вижу, что я могу добавить его в IB из списка объектов. Это сделало бы меня подходящим для подключения IBActtion. Я полагаю, – awp2004

0

It похоже, что вы пытаетесь заставить UIImageView действовать как UIButton. Почему бы вам просто не заменить UIImageView на UIButton и установить фоновое изображение кнопки на то же изображение, которое вы использовали для imageView? Затем закрепите кнопку до IBAction. Кнопка - это активный элемент управления - он предназначен для того, чтобы делать именно то, что вы хотите, поэтому почему бы не использовать его?

Смежные вопросы