У меня есть набор из 12 UIImageViews в моей раскадровке, и, ради аргумента, я хочу, чтобы каждый из них печатал в журналы «Вы только что прослушивали изображение x», когда пользователь нажимает на него, где x - число обращенных изображений, от 1 до 12). Поэтому мне нужно определить, какое изображение используется, и делать что-то в зависимости от этой информации. Какой был бы лучший способ сделать это, в Swift 3?Как напечатать «image x tapped», когда пользователь нажимает на один из многих UIIмагов в контроллере просмотра? (Swift 3)
(я предполагаю, что 12 IBActions - убирайте их как кнопку с изображением на фоне - это действительно плохой код. Также они должны быть помещены на определенные позиции поверх фонового изображения, поэтому для этого нельзя использовать UICollectionView.) Спасибо
Спасибо за ваш ответ - я попробовал, но ничего не происходит, когда я нажимаю на изображения.Я установил теги, userInteraction = yes и ссылаюсь на выходы из UIImages на TapGestureRecognizer в Storyboard. Когда я программно добавляю image1.addGestureRecognizer (tapGesture), image2.addGestureRecognizer (tapGesture) и т. Д., То он работает только на последнем, игнорируя предыдущие. Любые идеи, что может быть неправильным? Я нахожусь на начальном уровне с кодированием, поэтому может быть что-то простое. Я продолжу работать над этим - еще раз спасибо – Apneist
Обновление, наконец, заставило его работать - единственный способ, которым он работал, - это, согласно вашему решению выше, НО, мне пришлось сделать отдельные экземпляры tapGestureRecognizer для каждого изображения. Если бы я сделал то же самое, что и в вашем решении, он только зарегистрировал последний, и кран распознавания работал только в последнем uiImageView, чтобы добавить к нему tapGesture. Так что я сделал что-то вроде этого: – Apneist
пусть tapGestureFirst = UITapGestureRecognizer (цель: самостоятельная, действие: #selector (водопроводная)) пусть tapGestureTwo = UITapGestureRecognizer (цель: самость, действие: #selector (водопроводная)) – Apneist