Изменение цвета фона пользовательской ячейки UITableViewCell в простом стиле UITableView - PullRequest
5 голосов
/ 08 июля 2011

Я пытаюсь изменить цвет фона пользовательского UITableViewCell в простом стиле UITableView.

Я прочитал другие подобные вопросы, и я в своем методе делегата:

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath

Я установил cell.backgroundColor = [UIColor...]. Проблема в том, что это работает только для сгруппированного стиля UITableView.

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

Ответы [ 3 ]

8 голосов
/ 08 июля 2011

Может быть, вы можете добавить cell.contentView.backgroundColor = [UIColor clearColor], прежде чем установить цвет.

Причина в том, что backgroundview находится внизу.Contentview находится вверху.

1 голос
/ 08 июня 2013

Измените цвет в следующем методе делегата:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (...){
        cell.backgroundColor = [UIColor blueColor];
    } else {
        cell.backgroundColor = [UIColor whiteColor];
    }
}
0 голосов
/ 08 июля 2011
// set selection color
UIView *myBackView = [[UIView alloc] initWithFrame:cell.frame];

myBackView.backgroundColor = [UIColor colorWithRed:1 green:1 blue:0.75 alpha:1];

[cell.contentView addSubview:myBackView];

[myBackView release];

, как это изменить каждую клетку, как вам нужно

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