Вот наиболее эффективный способ, с которым я столкнулся, чтобы решить эту проблему, использовать метод делегата willDisplayCell (он заботится о белом цвете для фона текстовой метки, а также при использовании cell.textLabel.text и / или ячейки. detailTextLabel.text):
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { ... }
Когда вызывается этот метод делегата, цвет ячейки контролируется через ячейку, а не в виде таблицы, как при использовании:
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath { ... }
Таким образом, в теле метода делегата ячейки добавьте следующий код для чередования цветов ячеек или просто используйте вызов функции, чтобы сделать все ячейки таблицы одним и тем же цветом.
if (indexPath.row % 2)
{
[cell setBackgroundColor:[UIColor colorWithRed:.8 green:.8 blue:1 alpha:1]];
}
else [cell setBackgroundColor:[UIColor clearColor]];
Это решение хорошо сработало в моих обстоятельствах ...