Hauteur de tableHeaderView semble être 0
-
20-09-2019 - |
Question
I essayé de remplacer la deuxième tableHeaderView. Mais il semble que la hauteur de celui-ci dans la méthode heightForHeaderInSection semble être 0. Ne peut pas l'expliquer, dois-je mettre dans un iVar parce que dans le viewForHeaderInSection je peux définir la vue sans aucun problème.
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if(section == 0)
return @"Adding a new list";
else
return @"Other lists";
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if(section == 0) {
return tableView.tableHeaderView;
} else {
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 50)] autorelease];
view.backgroundColor = [UIColor redColor];
return view;
}
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if(section == 0)
return tableView.tableHeaderView.frame.size.height;
else
return 30;
}
La solution
Je pense que vous confondez l'en-tête de table et l'en-tête pour chaque section, ils sont différents. Il n'y a pas de « deuxième tableHeaderView », un UITableView
a un tableHeaderView
et dépend alors des méthodes de viewForHeaderInSection
et heightForHeaderInSection
pour placer des vues d'en-tête personnalisés pour chaque section, sinon vous utilisez juste titleForHeaderInSection
pour y placer le texte.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow