Me pregunto cómo cambiar el color azul de resaltado / selección de a UITableViewCell
, ¿alguna idea?
ios
uitableview
Thomas Joos
fuente
fuente
selectedBackgroundView
simplemente nunca aparecerá. Solo después de establecer "Selección" en Predeterminado, seselectedBackgroundView
muestra. Probado en iOS 6 y 7.cell.selectedBackgroundView = [UIView new];
y establece el color que desee:cell.selectedBackgroundView.backgroundColor = [UIColor colorWithHex:@"ecf2f5" andAlpha:1];
Zonble ya ha proporcionado una excelente respuesta. Pensé que podría ser útil incluir un fragmento de código corto para agregar un elemento
UIView
a la celda de la vista de tabla que se presentará como la vista de fondo seleccionada.UITableViewCell
selectedBackgroundView
para que sea laUIView
que creé con el color de fondo elegidoEsto funcionó bien para mí. Gracias por el consejo Zonble.
fuente
UITableViewCell
tiene tres estilos de selección predeterminados: -La implementación es la siguiente:
fuente
En Swift, usa esto en
cellForRowAtIndexPath
Si desea que su color de selección sea el mismo en todos
UITableViewCell
, use esto enAppDelegate
.fuente
Si desea cambiarlo en toda la aplicación, puede agregar la lógica a su delegado de aplicaciones
fuente
para completar: si creó su propia subclase
UITableViewCell
, puede implementar el- (void)setSelected:(BOOL)selected animated:(BOOL)animated
método y establecer el color de fondo de alguna vista que agregó en la vista de contenido. (si ese es el caso) o de contentView en sí (si no está cubierto por una de sus propias vistas.(¿no usó? para ajustarse al pequeño ancho del código fuente DIV's :)
Este enfoque tiene dos ventajas sobre el uso de SelectedBackgroundView, usa menos memoria y un poco menos de CPU, algo que ni siquiera notarías a menos que muestres cientos de celdas.
fuente
selectedBackgroundView
Al principio del método addself. selectedBackgroundView = [UIView new];
selectedBackgroundView
propiedad.Tengo que establecer el estilo de selección
UITableViewCellSelectionStyleDefault
para que funcione el color de fondo personalizado. Si hay otro estilo, se ignorará el color de fondo personalizado. Probado en iOS 8.El código completo para la celda de la siguiente manera:
fuente
Según la respuesta de @ user , puede agregar esta extensión en cualquier parte del código de su aplicación y tener su color de selección directamente en el editor de guiones gráficos para cada celda de su aplicación:
fuente
En su guión gráfico, establezca la clase de su UITableViewCell en UIDesignableTableViewCell, en el inspector de atributos, puede cambiar el color seleccionado de su celda a cualquier color.
Puede usar esto para todas sus células. Así será su inspector de atributos.
fuente
UIColor.clear
, noUIColor.clearColor()
. No estoy seguro si eso también es un cambio en Swift, pero también funciona sin él@IBDesignable
.Swift 3.0 / 4.0
Si ha creado su propia celda personalizada, puede cambiar el color de selección
awakeFromNib()
para todas las celdas:fuente
1- Agregue una vista a la vista de contenido de su celda.
2- Haz clic derecho en tu celda.
3- Realice la vista agregada como "selectedBackgroundView"
fuente