Отмените выбор ячейки таблицы при нажатии. Быстрый

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

введите здесь описание изображения]


person Martheli    schedule 25.06.2017    source источник
comment
Этот ответ должен помочь вам в этом: stackoverflow.com/a/25503413/4763963 Удачи!   -  person Mo Abdul-Hameed    schedule 25.06.2017
comment
Есть ли версия на Swift?   -  person Martheli    schedule 25.06.2017


Ответы (1)


Когда вы щелкаете по табличному представлению, должен запускаться какой-то обработчик событий, чтобы вы могли отменить выбор строки. Итак, если остальная часть вашего контроллера представления является статической без взаимодействия с пользователем, вы можете просто поместить прозрачный UIView поверх остальной части вашего контроллера представления и отменить выбор следующим образом:

let gesture = UITapGestureRecognizer(target: self, action:  #selector (self.checkAction(sender:)))

self.YourTransparentView.addGestureRecognizer(gesture)

func checkAction(sender : UITapGestureRecognizer) {
    if let indexPath = self.tableView.indexPathForSelectedRow{
        self.tableView.deselectRow(at: indexPath, animated: true)
    }
}
person Fangming    schedule 25.06.2017
comment
Вам не нужен шаг 1. Просто спросите табличное представление, какой в ​​данный момент выбран indexPath. Не нужно отслеживать это самостоятельно. - person rmaddy; 26.06.2017