Сделайте UITableViewCell кратко мигать
У меня есть UITableView
настройки, и я изучаю все различные варианты выделения UITableViewCell
и мне было интересно следующее:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
.
.
cell.selectionStyle = .gray
return cell
}
Что происходит сейчас, так это то, что когда ячейка выделена, она подсвечивается серым цветом, мне было интересно, можно ли отменить выбор ячейки примерно через 0,5 секунды?
В принципе, возможно ли заставить клетку мигать только на короткое время, чтобы пользователь знал, что он взаимодействовал с ячейкой, однако она не остается выбранной? Я использую этот tableView для бокового меню, и выделение не является желательным для меня поведением.
Спасибо!
2 ответа
Наконец получил его на работу, что я сделал:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.cellForRow(at: indexPath)?.backgroundColor = .gray
DispatchQueue.main.asyncAfter(deadline: .now()) {
UIView.animate(withDuration: 0.5, animations: {
tableView.cellForRow(at: indexPath)?.backgroundColor = .none
})
}
Может быть, это поможет кому-то еще. Единственная проблема заключается в том, что повернутая ячейка не выделяется при нажатии только после окончания жеста (т.е. только касания). Если у кого-то есть решение для этого, я был бы признателен, но сейчас это подойдет.
Вы можете отменить выбор строки на didSelectRow
метод, ячейка будет выделена, а затем выбор исчезнет, давая пользователю знать, что они взаимодействовали с ячейкой.
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
// Do whatever else you need
}