'didSelectRowAt' не вызывается

У меня вопрос о функции делегата UITableView didSelectRowAt . Все работает нормально, но, к сожалению, didSelectRowAt не вызывается. Я прочитал в каком-то другом вопросе stackoverflow о проблеме и попробовал некоторые решения, но ни один из них не работает для меня. Я сделал подкласс таблицы, который сам делегат:

 class MyTableView : UITableView, UITableViewDelegate{ override func awakeFromNib() { super.awakeFromNib() separatorStyle = .none backgroundView = nil backgroundColor = UIColor.clear isScrollEnabled = false delegate = self isEditing = false allowsSelection = true } // func tableView(_ tableView: UITableView, didHighlightRowAt indexPath: IndexPath) { // // this is working // // } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { print("not called") } } 

Таким образом, все подклассы MyTableView будут реализовывать материал источника данных, и это также отлично работает (в случае, если это так будет сказано).

Странно, что didHighlightRowAt вызывается, поэтому делегат как-то работает. Только didSelectRowAt который я хочу, не вызывается.

Кстати, нет никакого UITapGestureRecognizer .

Могу как-нибудь дать мне совет. Есть ли неправильные свойства?

Я не знаю, какие другие решения вы попробовали, но если вы используете настраиваемую панель просмотра, возможно, вы включили «Включено взаимодействие с пользователем» на этом компоненте.

Проверьте, TableView's ячейка TableView's разрешает выбор.

 tableView.allowsSelection = true 

Может возникнуть следующая проблема

1) Вы не настроили делегата из UITableView

 Solution - `self.tableview.delegate = self` 

2) Проверьте, не отключено ли пользовательское взаимодействие для UITableView или UITableViewCell

  Solution: self.tableview.isUserInteractionEnabled = true 

3). Проверьте, не является ли стиль выбора таблицы

 Solution: self.tableview.allowsSelection = true 

4) Проверьте, не активирован ли какой-либо из жестов.

 func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { return true }