Сгруппированный UITableViewCell
использует цвет tableCellGroupedBackgroundColor
вместо обычного whiteColor
цвета в iOS 5. В результате фон пользовательских ячеек не совпадает с фоном UITableViewCell
(по умолчанию, субтитры,Value1, ячейки стиля Value2).
Какой лучший способ убедиться, что в настраиваемом UITableViewCell
и по умолчанию UITableViewCell
(и связанных UILabel
и других элементах) используется тот же цвет фона - как для iOS4и iOS5?
Примечание: в редакторе я вижу новый цвет по имени tableCellGroupedBackgroundColor
, но нет категории / метода, доступных для получения этого цвета программным способом.
Изменить:
Вы можете использовать следующую технику, чтобы изменить цвет фона элементов управления в вашей ячейке, но в случае пользовательских ячеек, как вы можете установить соответствующий цвет фона на основе ОС (iOS 4 противiOS 5)?
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
for (UIView* view in cell.contentView.subviews) {
view.backgroundColor = cell.backgroundColor;
}
}
Самое простое решение (моя текущая реализация): Это просто гарантирует, что все мои ячейки имеют белый фон, независимо от ОС.Почему-то мне не нужно применять белый цвет к cell.contentView.subviews
.
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
[cell setBackgroundColor:[UIColor whiteColor]];
}