Necesito cambiar la selección de color azul predeterminada de la vista de tabla a un color personalizado. Hay alguna forma de hacer eso. AyudameNecesito cambiar el color de la selección de la vista de tabla
Respuesta
La mejor manera de hacerlo es la siguiente:
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"myCellId";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
UIView *v = [[[UIView alloc] init] autorelease];
v.backgroundColor = [UIColor redColor];
cell.selectedBackgroundView = v;
}
// Set up the cell...
cell.textLabel.text = @"foo";
return cell;
}
La parte relevante para usted es la instrucción cell.selectedBackgroundView = v;
. Puede sustituir la vista muy básica 'v' aquí con cualquier vista que desee.
Zoran, he verificado que este enfoque funciona para vistas de tabla simple, sin embargo, no funciona para mis agrupados. Cualquier solución? ¿O puedes confirmar esto? –
No depende del tipo de vista de tabla: acabo de descubrir que funciona en algunas tablas simples y no en otras tablas simples. Todos ellos usan celdas de tabla personalizadas. –
Esto solo funciona sin fuzz para vistas de tabla simple. Para una vista de tabla agrupada, necesitará 4 vistas para diferentes fondos seleccionados; arriba, abajo, entre otras dos celdas, y celda individual en grupo. Luego viene el dolor de actualizar estos, se cambia el número de filas en cualquier segmento. Publique una solicitud de función en bugreport.apple.com para agregar una propiedad "selectedBackgroundGradient" para iPhone OS 4.0. – PeyloW
No creo que puedas usar un color personalizado. Sin embargo, puede utilizar la siguiente propiedad de UITableViewCell
@property(nonatomic) UITableViewCellSelectionStyle selectionStyle
El estilo de la selección es una constante backgroundView que determina el color de una celda cuando se selecciona. El valor predeterminado es UITableViewCellSelectionStyleBlue. Desde
typedef enum {
UITableViewCellSelectionStyleNone,
UITableViewCellSelectionStyleBlue,
UITableViewCellSelectionStyleGray
} UITableViewCellSelectionStyle;
puede cambiar de la selección predeterminada de color azul a gris, o sin color.
Si subescribes tu UITableViewCell, puedes resaltar en cualquier color. – mahboudz
¿Cómo se hace esto exactamente para UITableViewCells personalizadas diseñadas con IB o mediante programación? Quiero decir, ¿hay algún método/propiedad que permita hacer esto SIN recurrir a trucos como poner otra vista en la parte superior de la celda? –
¿puede enviarme el código para subclase de UITableViewCell y destacarlo con un color personalizado? por favor .. – smakstr
Otra forma de hacerlo sería mover una nueva vista sobre su celda, con el color que desee y una opacidad del 50% o así. Mueves esta vista a la celda cuando obtienes un -setSelected: animated: call. Cuando digo move, en realidad siempre puedes tener una vista en la parte superior de tu celda, pero solo apaga y enciende el bit oculto cuando lo necesites.
También me encontré con este problema al tratar de crear vistas de celda seleccionadas personalizadas para la celda agrupada. Resolví este problema creando 3 tipos de imágenes para la parte superior, media e inferior de la celda, suponiendo que habrá una celda intermedia.
NSString *imageFile;
if (row == 0) {
imageFile = @"highlighted_cell_top.png";
} else if (row == ([registeredDetailsKeys count] - 1)) {
imageFile = @"highlighted_cell_bottom.png";
} else {
imageFile = @"highlighted_cell_middle.png";
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:imageFile]];
cell.selectedBackgroundView = imageView;
Posiblemente hay una manera más fácil, pero estoy contento con el resultado.
Hasta donde yo sé, esa es exactamente la manera de hacerlo. Vea este [tutorial] (http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html). Olvidaste la variación "top_bottom" (cuando solo una celda), eso es todo. – Rich
Asegúrese de que después de declarar en la cabecera
@property(nonatomic) UITableViewCellSelectionStyle selectionStyle
Implementar
cell.selectionStyle = UITableViewCellSelectionStyleGray
donde UITableViewCellSelectionStyleGray
puede haber UITableViewCellSelectionStyleNone
, UITableViewCellSelectionStyleBlue
, UITableViewCellSelectionStyleGray
.
- 1. Cambiar el color de la selección
- 2. ¿Cambiar el color de fondo de la vista de tabla (estilo de tabla de presentación agrupada)?
- 3. Cómo cambiar el color de fondo de la vista enfocada
- 4. Cambiar color de selección de WPF ListViewItem
- 5. Cambiar el nombre de la tabla o vista de Oracle
- 6. Cambiar el color de fondo de la tabla de iPhone (estilo agrupado) conservando la textura
- 7. ¿Cambiar el color de selección de fondo de ListView?
- 8. Cambiar el color de la celda JTable
- 9. Cómo cambiar el color de fondo de la celda en la tabla usando el script java
- 10. Cambiar el color de selección de un QTableWidget
- 11. ¿Cambiar el color de selección de texto usando CSS?
- 12. Cambiar el color de selección de TextField en AS3
- 13. Cómo cambiar el color de la barra de título de la vista Eclipse RCP
- 14. Anulando la selección de la fila de la vista de tabla al devolver
- 15. Cómo cambiar el color del botón de divulgación de detalle para la celda de la tabla
- 16. Cómo deshabilitar el color de texto blanco en la selección en NSTableView basado en vista?
- 17. cómo cambiar el color de la fila de la tabla en vaadin
- 18. ¿Cómo cambiar el color del texto NSTextField en la selección de fila?
- 19. Cambiar el color de la fila del valor de la celda en la tabla de visualización de google
- 20. Cambiar la vista de Android
- 21. Cambiar el color de la celda en diferentes valores - Gridview
- 22. ¿Cómo retener o animar el color de fondo de la subvista en UITableViewCell en la selección?
- 23. Divisor de selección de la barra de acciones color
- 24. ¿Cómo cambiar el color de la selección actual de línea y texto en eclipse (para Java)?
- 25. WPF Color de selección ListBox
- 26. La selección y el control deslizante anulan el color de fondo de la celda en un componente de tabla SWT
- 27. Cambiar el color de la barra de progreso en Android
- 28. jQuery: Cambiar el color del borde de la celda de una tabla
- 29. Selección de cada segunda fila de la tabla visible
- 30. Cambiar el color de la opción seleccionada solo
Creo que obtendrías mejores resultados si agregaras más signos de exclamación ... –