Вы должны быть в состоянии сделать это. Отключив взаимодействие каждой ячейки, вы сможете передавать «UIGestureRecognizer» в tableView.
Вот краткий пример. Извините, я использовал Swift, но вы, вероятно, можете понять суть этого.
После добавления tableView я добавил эти жесты-распознаватели к нему.
let leftGesture = UISwipeGestureRecognizer(target: self, action: #selector(leftSwiped))
leftGesture.direction = .left
tableView.addGestureRecognizer(leftGesture)
let rightGesture = UISwipeGestureRecognizer(target: self, action: #selector(rightSwiped))
rightGesture.direction = .right
tableView.addGestureRecognizer(rightGesture)
Каждая из них вызывает следующие функции:
@objc func leftSwiped() {
print("LEFT")
}
@objc func rightSwiped() {
print("Right")
}
и в ячейке для строки я просто отключил взаимодействие пользователя с ячейкой:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")!
cell.isUserInteractionEnabled = false
cell.backgroundColor = .random()
return cell
}
Когда Я попробовал это, проведя вправо и влево на табличном представлении, будет печататься соответствующим образом в регистраторе.
Надеюсь, это поможет, Алан