La agrupados UITableViewCell
utiliza tableCellGroupedBackgroundColor
color en lugar del color regular whiteColor
, en iOS 5. Como resultado, el fondo de las células personalizados no coincide con las de UITableViewCell
(por defecto, Subtítulo , Value1, Value2 style cells).UITableViewCell color de fondo es diferente en IOS5 vs iOS4
¿Cuál es la mejor manera de asegurarse de que se utiliza el mismo color de fondo en UITableViewCell
personalizado y UITableViewCell
predeterminado (y asociado UILabel
y otros elementos) - w.r.t. tanto iOS4 como iOS5?
Nota: En el Editor puedo ver un nuevo color con el nombre tableCellGroupedBackgroundColor
, pero no hay una categoría/método disponible para obtener este color mediante programación.
Editar:
permite utilizar las siguientes técnicas para cambiar el color de fondo de los controles en su celular, pero en el caso de las células personalizados, ¿cómo se puede establecer el color de fondo apropiado basado en el sistema operativo (IOS 4 vs iOS 5)?
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
for (UIView* view in cell.contentView.subviews) {
view.backgroundColor = cell.backgroundColor;
}
}
solución más fácil (implementado mi actual): Esto sólo se asegura de que todas mis células tienen fondo blanco, con independencia del sistema operativo. De alguna manera, no necesito aplicar color blanco al cell.contentView.subviews
.
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
[cell setBackgroundColor:[UIColor whiteColor]];
}
Esto no es una buena idea porque configura el color transparente para el fondo en cualquier vista que reduzca el rendimiento. Si no necesita un fondo degradado, debe configurar el fondo como opaco. Eso es lo que Apple recomienda y esa también es mi experiencia ... –