Флажки в постоянстве состояния UITableView - PullRequest
0 голосов
/ 13 сентября 2018

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

Я понимаю, что это как-то связано свнутренняя работа UITableView и то, как ячейки в основном используются повторно и перерисовываются при их прокрутке, но никакая попытка сохранения состояния не работает.В данный момент я пытаюсь сохранить выбранные объекты IndexPath в массиве, и в cellForRowAt я нарисую флажок, как если бы путь появился в массиве.Тем не менее, даже это не похоже на работу.Есть идеи как это исправить?

1 Ответ

0 голосов
/ 13 сентября 2018

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

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

В качестве альтернативы выполнению сброса в cellForRowAt вы можете использовать пользовательскую ячейку и реализовать метод prepareForReuse().

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

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