Изменение цвета фона на пользовательском UITableViewCell не будет отображаться - PullRequest
0 голосов
/ 01 июня 2011

Я пытаюсь изменить цвет фона пользовательской ячейки при нажатии. Вот мой код:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    UITableViewCell *cell = [tableView cellForRowAtIndexPath: indexPath];
    if (...condition...) {
        cell.backgroundColor = [UIColor clearColor];
    } else {
        cell.backgroundColor = [UIColor yellowColor];
    }
}

Теперь я сделал отладку, и cell.backgroundColor = [UIColor clearColor];выполняется, но клетка остается желтой !!!Это происходит только с некоторыми ячейками (желтыми и повторно используемыми).

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

Ответы [ 3 ]

3 голосов
/ 02 июня 2011

Я получил его на работу.Пришлось использовать aCell.contentView.backgroundColor вместо aCell.backgroundColor

Это помогло мне.

0 голосов
/ 01 июня 2011

Изменить цвет фона ячейки в пользовательском классе ячейки, где у нас есть метод setbackground :.

0 голосов
/ 01 июня 2011

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

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