изменение цвета фона каждой другой ячейки в объективе с


У меня есть uiTableView. Я хочу, чтобы каждая другая клетка получала другой цвет фона. Я пытаюсь сделать это вот так. Но это не сработает. У кого-нибудь есть ключ к разгадке?

 if(indexPath.row % 2 == 0){
        cell.backgroundColor = [UIColor whiteColor];
    }else{
        cell.backgroundColor = [UIColor blueColor];
    }

С уважением,

Стеф

3 3

3 ответа:

Вы можете использовать: cell.contentView.backgroundColor вместо cell.backgroundColor внутри tableView:cellForRowAtIndexPath:

Или : (из документов Apple)

Примечание: Если вы хотите изменить цвет фона ячейки (путем настройки цвет фона ячейки с помощью свойства backgroundColor объявлено UIView) вы должны сделать это в tableView: willDisplayCell: forRowAtIndexPath: метод делегата и не в tableView: cellForRowAtIndexPath: источника данных. Изменение цвета фона ячеек в таблице группового стиля вид имеет эффект в iOS 3.0, который отличается от предыдущих версий операционная система. Теперь он влияет на область внутри скругленного прямоугольник вместо области за его пределами.

cell.backgroundView=[[UIView alloc]initWithFrame:cell.frame];
[cell.backgroundView setBackgroundColor:[UIColor blueColor]];

Сделает работу или

[cell.contentView setBackgroundColor:[UIColor blueColor]];

Чтобы ответить на расширенный вопрос в комментариях, установите цвет фона ваших меток на label.backgroundColor = [UIColor clearColor];