Устаревший - см. Принятый ответ
Оригинальный ответ
У меня была такая же проблема, и я не мог ее исправить.Поэтому я решил добавить жест касания, который также анимирует, как раньше.
В моей didMoveToSuperview
таблице:
// Set delegates
delegate = self
dataSource = self
// Setup cells
register(MyCustomTableCell.self, forCellReuseIdentifier: "cellId")
allowsSelection = false // <-- Stops the user from tapping with 2
// fingers, creating a permanent selection.
Функция в табличном представлении, где ячейкаis setup (не забудьте инициализировать с помощью пользовательского класса ниже):
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// Create cell
let cell = MyCustomTableCell(style: UITableViewCell.CellStyle.value1, reuseIdentifier: "cellId")
/* OR */
let cell = dequeueReusableCell(withIdentifier: "cellId")
// Setup cell
/* ... */
Пользовательский класс, который будет использоваться для ячейки таблицы, чтобы получить то, что мы хотим:
final class MyCustomTableCell: UITableViewCell {
override func didMoveToSuperview() {
// Create the tap gesture
let gesture = UITapGestureRecognizer(target: self, action: #selector(tapGesture(gesture:)))
addGestureRecognizer(gesture)
}
@objc private func tapGesture(gesture: UITapGestureRecognizer) {
setSelected(true, animated: true)
setSelected(false, animated: true)
print("Tap!")
}
}
Надеюсь, кто-то найдетэто полезно!Обходных путей лучше избегать, но это требовалось в этой ситуации.?