UITableView altura cabeçalho de secção para a tabela não agrupados
-
22-07-2019 - |
Pergunta
Saudações! Eu sei que UITableView sectionHeaderHeight é utilizado apenas para as tabelas agrupadas, mas eu vou perguntar de qualquer maneira (no caso de haver alguma maneira de fazer isso que não é óbvio) ...
Existe uma maneira de alterar a altura do cabeçalho da secção (e, com ela, a pia batismal / tamanho) para um não mesa -grouped ?
Na esperança "sim" ou, pelo menos, um "talvez" ... mas temendo que poderia ser um "não". Têm-no, pessoal.
Solução
Sim.
Use este método delegado:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 44;
}
É claro que a mudança como apropriado. Há, claro, a um para rodapé, bem como:
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 44;
}
Outras dicas
Pelo menos desde iOS 9 (testado) UITableView.sectionHeaderHeight está trabalhando para uma vista de tabela simples (não-agrupadas) também!
Você vai ter a altura de cabeçalho padrão (geralmente 22,0).
Claro que o delegado vistas de tabela pode ter personalizado esse valor padrão em sua tableView: heightForHeaderInSection:. método
O fragmento de código seguinte dá a altura de um cabeçalho de secção definida:
CGFloat headerHeight = self.tableView.sectionHeaderHeight;
if ([self.tableView.delegate respondsToSelector:@selector(tableView:heightForHeaderInSection:)]) {
// possibly custom header height
headerHeight = [self.tableView.delegate tableView:self.tableView heightForHeaderInSection:indexPathForCell.section];
}