Cambio de color de la sección de encabezado en UITableView
-
24-09-2019 - |
Pregunta
He simple pregunta bastante simple (eso espero). ¿Cómo cambio el color encabezado de sección en un UITableView de azul a negro transparente por defecto? Gracias de antemano.
Solución
es necesario implementar este método en el protocolo UITableViewDelegate:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
Aquí hay un enlace a la documentación
... y hacer algo como este (sub en su propio color):
UIView *sectionView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 22)] autorelease];
[sectionView setBackgroundColor:[UIColor blackColor]];
return sectionView;
También puede utilizar la sección número entero de colores alternos o algo similar. Creo que la altura por defecto para las secciones es de 22, pero se puede hacer lo que quiera. Es esto lo que quería decir con su pregunta? Espero que esto ayude.
Otros consejos
Esta es una vieja pregunta, pero creo que las necesidades de respuesta a actualizarse.
Este método no implica definir sus propias vistas personalizadas.
En iOS 6 en adelante, se puede cambiar fácilmente el color de fondo y el color del texto mediante la definición de la Red
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section.
Por ejemplo:
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { // Background color view.tintColor = [UIColor blackColor]; // Text Color UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view; [header.textLabel setTextColor:[UIColor whiteColor]]; // Another way to set the background color // Note: does not preserve gradient effect of original header // header.contentView.backgroundColor = [UIColor blackColor]; }
Tomado de mi post aquí: https://happyteamlabs.com/ blog / ios-cómo-a-modificar-mesa-vista-header-y-pie-colores /
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,tableView.bounds.size.width, 30)];
if (section == 0)
[headerView setBackgroundColor:[UIColor redColor]];
else
[headerView setBackgroundColor:[UIColor clearColor]];
return headerView;
}