Swift UITableView Cell меняет изображение при прокрутке - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть изображение внутри ячеек таблицы, которое становится черным, когда ячейка выбрана, а ячейка по умолчанию становится серой.Проблема в том, что, когда я прокручиваю экран вниз и снова прокручиваю вверх, изображения возвращаются назад, как будто они не выбраны, так как image "cellSelected".Таким образом, после прокрутки выделенные ячейки должны иметь изображение «cellSelected», а у них - «cellNotSelected».Как я могу убедиться, что мое приложение запоминает изображения выбранных ячеек?

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let cell = tableView.cellForRow(at: indexPath) as! CustomerSelectsBusinessesCell
    cell.selectedCell.image = UIImage(named: "cellSelected")

    updateCount()
}

override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    let cell = tableView.cellForRow(at: indexPath) as! CustomerSelectsBusinessesCell
    cell.selectedCell.image = UIImage(named: "cellNotSelected")
    updateCount()
}

1 Ответ

0 голосов
/ 20 февраля 2019

Вам необходимо сохранить изменение состояния в вашей модели данных где-нибудь, а затем отредактировать методы источника данных (в частности, cellForRowAtindexPath), чтобы показать ячейку в ее новом выбранном состоянии.

Это верно для любого измененияВы делаете в клетку.Если ячейка прокручивается за пределами экрана, она перерабатывается, и любые изменения, внесенные в ее представления, больше не будут связаны с этим indexPath.Поэтому, когда пользователь выполняет действие с ячейкой, вам всегда нужно записывать информацию в вашу модель данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...