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.

¿Fue útil?

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

método delegado
- (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;
   }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top