Выделите все ячейки в определенном разделе таблицы - PullRequest
1 голос
/ 15 июня 2011

Мое требование заключается в следующем: если пользователь щелкает любую строку в разделе, все строки в этом разделе должны быть выделены (измените цвет фона). Для этого у меня есть пользовательская ячейка просмотра таблицы.

Я пытался поиграть с setSelected в пользовательской ячейке просмотра таблицы, но после прокрутки ячейки сбрасываются (очевидно).

Итак, чтобы исправить это, в моем - (void) tableView: (UITableView *) tableView willDisplayCell: (UITableViewCell *) ячейка forRowAtIndexPath: (NSIndexPath *) indexPath, я пытался использовать [tableView indexPathForSelectedRow] .section для получения раздел, затем я просматривал его, чтобы выбрать ячейки.

Проблема в том, что каждый раз, когда вы прокручиваете, вы можете заметить, что ячейки выделяются, что делает их глючными.

Есть предложения?

1 Ответ

1 голос
/ 15 июня 2011

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

Метод -tableView:cellForRowAtIndexPath: источника данных вашей таблицы вызывается каждый раз, когда в таблице требуется отобразить новую ячейку, то есть ячейку, которая раньше не была видна.Это ваш шанс правильно настроить ячейку.Он должен проверить данные для таблицы, определить, должна ли быть выбрана ячейка, и соответствующим образом установить выбранное состояние.

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