¿Color seleccionado de celda UITableView?
He creado un personalizado UITableViewCell
. La vista de tabla muestra los datos correctamente. En lo que estoy atrapado es cuando el usuario toca la celda de la vista de tabla, entonces quiero mostrar el color de fondo de la celda distinto de los valores predeterminados [color azul] para resaltar la selección de la celda. Utilizo este código pero no pasa nada:
cell.selectedBackgroundView.backgroundColor=[UIColor blackColor];
No hay necesidad de celdas personalizadas. Si solo deseas cambiar el color seleccionado de la celda, puedes hacer esto:
C objetivo:
UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor redColor];
[cell setSelectedBackgroundView:bgColorView];
Rápido:
let bgColorView = UIView()
bgColorView.backgroundColor = UIColor.red
cell.selectedBackgroundView = bgColorView
Creo que estabas en el camino correcto, pero según la definición de clase para selectedBackgroundView
:
El valor predeterminado es nulo para celdas en tablas de estilo simple (UITableViewStylePlain) y no nulo para tablas de grupos de secciones UITableViewStyleGrouped).
Por lo tanto, si está utilizando una tabla de estilo simple, deberá asignar una nueva UIView
que tenga el color de fondo deseado y luego asignarla a selectedBackgroundView
.
Alternativamente, si todo lo que deseas es un fondo gris cuando se selecciona la celda, puedes usar esto:
cell.selectionStyle = UITableViewCellSelectionStyleGray;