Pergunta

Eu tenho uma pergunta simples e simples (espero que sim). Como altero a cor do cabeçalho da seção em uma View de Blue padrão para o preto transparente? Desde já, obrigado.

Foi útil?

Solução

Você precisa implementar esse método no protocolo UitableViewDelegate:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

Aqui está um link para o documentação

... e faça algo assim (sub sua própria cor):

UIView *sectionView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 22)] autorelease];
[sectionView setBackgroundColor:[UIColor blackColor]];
return sectionView;

Você também pode usar o número inteiro da seção para alternar cores ou algo semelhante. Eu acho que a altura padrão das seções é de 22, mas você pode fazer o que quiser. É isso que você quis dizer com sua pergunta? Espero que isto ajude.

Outras dicas

Esta é uma pergunta antiga, mas acho que a resposta precisa ser atualizada.

Este método não envolve definir suas próprias visualizações personalizadas.
No iOS 6 ou mais, você pode alterar facilmente a cor do fundo e a cor do texto, definindo o

- (void)tableView:(UITableView *)tableView 
        willDisplayHeaderView:(UIView *)view 
        forSection:(NSInteger)section
Método delegado.

Por exemplo:

- (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];
}

Tirado do meu post aqui:https://happyteamlabs.com/blog/ios-how-to-customize-table-vieweader-and-pooter-cloors/

- (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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top