Как изменить цвет фона ячейки табличного представления после ее перемещения? - PullRequest
2 голосов
/ 25 августа 2010

У меня есть табличное представление с минимум 9 строками. Цвет фона ячеек будет зависеть от положения ячейки. Если значение ниже 3 или ниже до 6 или ниже до 9, цвет фона изменится (см. Следующее изображение).

alt text

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

Чтобы получить разные цвета, я использовал метод - (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath, но этот метод вызывается только тогда, когда ячейка будет отображаться и не подходит для переупорядочения проблем (ячейка уже отображается и цвет не изменяется ).

Я уже пытался создать метод для изменения цвета фона, который вызывается сразу после перемещения строки, но цвет не изменился (кажется, что изменение цвета фона с помощью свойства cell.backgroundColor просто работает в - (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath). (

Есть идеи, как мне это сделать?

Заранее спасибо.

1 Ответ

1 голос
/ 25 августа 2010

Отрегулируйте положение в вашем источнике данных, как вы делаете, а затем попросите источник данных пересчитать цвета для каждого элемента на основе их текущей позиции. Затем перезагрузите вид таблицы. Это должно "просто работать".

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