Если вы хотите немного затемнить ячейку и выделить ее, отметьте свойство в UITaleView
, которое называется isUserInteractionEnabled
.
Это поведение уже реализовано по умолчанию в UITableViewCell
, однако, если это не то, что вы ищете, вы можете реализовать функцию делегирования didSelectRowAt
и делать все, что вы хотите в этой ячейке, или вы можете использоватьdidHighlightRowAt
.
Вы можете прочитать об этих функциях много в Интернете здесь - пример реализации didSelectRowAt
.
ОБНОВЛЕНИЕ : некоторые обходные пути, чтобы вручную показать пользователю, что он нажал, в методе didSelectRowAt
, добавляющем это.
let cell = (tableView.cellForItem(at: indexPath) as! MyCustomCell)
UIView.animate(withDuration: 0.4) {
cell.imageView.highlightedImage = cell.imageView.image?.withRenderingMode(.alwaysTemplate)
cell.imageView.tintColor = UIColor(displayP3Red: 0, green: 0, blue: 0, alpha: 0.3)
UIView.animate(withDuration: 0.4, animations: {
talbeView.deselectItem(at: indexPath, animated: true)
})
}
Это вручную покроет изображение в представлении изображения тем цветом, который вы установили в этом случае - черный с непрозрачностью 0.3
.
А затем отмените выбор ячейки, все это завернуто в 0.4
время анимации.