Mudando a cor do cabeçalho da seção no UitableView
-
24-09-2019 - |
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.
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)sectionMé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;
}