Невозможно сделать изображение кликабельным в верхней панели навигации (быстрый 4) [дублировать]

Нажмите window + R (Run window Open) и в окне окна запуска "services.msc", а новые службы откроют службу поиска SQL SERVER(SQLEXPRESS) и повторите попытку, это работает для меня. Надеюсь, что это тоже работает для вас.

3
задан Chad 10 February 2017 в 15:13
поделиться

4 ответа

Следующий код может помочь вам быстрее с быстрым 3

Как вы сказали, вы хотите обнаружить касание изображения на ячейке таблицы, просмотрите этот код:

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(ViewController.connected(_:)))

    cell.yourImageView.isUserInteractionEnabled = true
    cell.yourImageView.tag = indexPath.row
    cell.yourImageView.addGestureRecognizer(tapGestureRecognizer)

И добавьте ниже метод для вашего ViewController

func connected(_ sender:AnyObject){
     print("you tap image number : \(sender.view.tag)")
}
16
ответ дан Maddyヅヅ 16 August 2018 в 00:26
поделиться
  • 1
    поэтому, когда я пытаюсь это сделать, я получаю неперехваченное исключение каждый раз, когда я нажимаю на жест let tapGesture = UITapGestureRecognizer(target: self, action: #selector(NewsFeedVC.likePost(_:))) self.actionLike.isUserInteractionEnabled = true self.actionLike.addGestureRecognizer(tapGesture) func likePost(_ sender : UITapGestureRecognizer) { print("TAPPED") } Завершающее приложение из-за неперехваченного исключения «NSInvalidArgumentException», причина: «-PostCell likePost:]: непризнанный селектор, отправленный экземпляру 0x7fbc3e894a00 ' – Chad 27 February 2017 в 11:17
  • 2
    @ Как вы сказали, вам нужно это с помощью tableview, поэтому вместо использования self.actionLike для просмотра таблицы полезно использовать cell.actionLike, и для их идентификации вам нужно назначить тэг в соответствии с индексом ячейки в tableview. и убедитесь, что пользовательский интертекст для изображения ячейки включен. – Maddyヅヅ 27 February 2017 в 17:31

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

let gestureRecognizerOne = UITapGestureRecognizer(target: self, action: #selector(tap))
firstImageView.addGestureRecognizer(gestureRecognizerOne)

let gestureRecognizerTwo = UITapGestureRecognizer(target: self, action: #selector(tap))
secondImageView.addGestureRecognizer(gestureRecognizerTwo)

Но я не видел ваш код, поэтому, может быть, вы должны создать его в цикле или что-то в этом роде .

0
ответ дан Aleksandr Honcharov 16 August 2018 в 00:26
поделиться

У меня недавно был вопрос, похожий на ваш. У меня было несколько изображений, все из которых я хотел ответить одинаково, когда пользователь их прослушивал. После некоторых экспериментов мне стало ясно, что каждый образ должен иметь свой собственный экземпляр UITapGestureRecognizer. Я закончил тем, что использовал такой код, который обеспечивал, чтобы каждое изображение реагировало на прослушивание:

for imageView in imageViews {
    let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapResponse))
    imageView.addGestureRecognizer(tapGestureRecognizer)
    imageView.isUserInteractionEnabled = true
}
1
ответ дан Joey deVilla 16 August 2018 в 00:26
поделиться

Проверьте isUserInteractionEnabled в UIImageView на true

6
ответ дан Muhammad Raza 16 August 2018 в 00:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: