2014-02-11 5 views
-1

У меня есть 5 ImageViews в моем представлении, и у меня есть IBOutlets для всех этих.Как распознать, какой UIImageView используется с помощью распознавателя жестов?

У меня есть один распознаватель жестов, который я установил для всех из них.

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

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

Спасибо.

+0

Ваш вопрос не имеет смысла. Вы не можете установить один распознаватель жестов для пяти разных видов. У этого есть только одна точка зрения. Если у вас есть пять видимых изображений, сделайте пять распознавателей жестов, чтобы пойти с ними. Теперь, когда срабатывает распознаватель жестов, его «вид» является просмотренным изображением. – matt

ответ

1

UIImageView не реагирует на жесты касания. Вам нужно будет подклассифицировать его, а затем прикрепить прослушиватель жестов к каждому представлению. Из here:

UIImageView является производным от UIView, который является производным от UIResponder так что готов обрабатывать события прикосновения. Вы хотите, чтобы обеспечили касаниеBegan, touchsMoved и touchesEnded, и они будут вызваны, если пользователь удалит изображение. Если все, что вы хотите, это событие , проще просто использовать пользовательскую кнопку с изображением в качестве изображения кнопки. Но если вы хотите, чтобы более тонкий контроль над кранами, движется и т. Д., Это путь.

Вы также хотите посмотреть на еще несколько вещей:

Override canBecomeFirstResponder и вернуть YES, чтобы указать, что представление может стать центром сенсорных событий (по умолчанию НЕТ).

Установите для свойства userInteractionEnabled значение YES. Значение по умолчанию для UIViews - ДА, но для UIImageViews нет NO, поэтому вы должны явно указывать .

Если вы хотите отреагировать на события с несколькими касаниями (т. Е. Щепотку, масштабирование и т. Д.) , вы должны установить для параметра multipleTouchEnabled значение YES.

0

Вы должны установить жест выделения для каждого изображения. После этого вы должны установить каждое изображение в виде уникального тега. Затем вы можете указать отображаемое изображениеView с тегом. Объект imageView может быть достигнут с помощью свойства 'view' UIGestureRecognizer.

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