Вместо того, чтобы изменять изображение в методе didSelectRowAt
, вы можете сделать это другим способом, реализовав метод setSelected(_:animated:)
в своем пользовательском UITableViewCell
и обработав там статус изображения, т.е.
override func setSelected(_ selected: Bool, animated: Bool) {
if selected {
btnPlayPause.setImage(UIImage(named: "pause"), for: .normal)
} else {
btnPlayPause.setImage(UIImage(named: "play"), for: .normal)
}
}
Вышеупомянутый метод обрабатывает выбор и отмену выбора для всех ячеек в режимах tableView
в single-selection
и multi-selection
.
После этого вам не нужно ничего писать в методе tableView(_:didSelectRowAt:)
.