- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if(section != 0) {
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 30)] autorelease];
view.backgroundColor = [UIColor redColor];
return view;
} else {
return tableView.tableHeaderView;
}
}cadre de viewForHeaderInSection est toujours la même taille
Ceci est ma mise en œuvre de viewForHeaderInSection mais je fais tout cadre il me montrant toujours le même cadre rouge. Voyez-vous un problème avec mon code?
Image:
MISE À JOUR:
Hmm maintenant mon bloc rouge est plus élevé, mais mon premier TableHeader est maintenant en quelque sorte caché. Le premier a été implémenté avec le titreForHeaderInSection. Je pensais que je mets en œuvre la hauteur juste de la hauteur de TableHeader mais que le travail ne marche pas
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if(section == 1)
return 30;
else
return tableView.tableHeaderView.frame.size.height;
}
thx, vous savez pourquoi ils ne prennent pas la hauteur de la rame? Ne vois pas pourquoi je dois définir la hauteur dans une méthode de délégué supplémentaire ... – gabac
Je ne sais pas pourquoi Apple l'a fait de cette façon. C'est un peu idiot. Mais je pense qu'ils ont voulu que le cadre d'en-tête couvre * toujours * toute la largeur de la vue de la table. Donc, la seule variable de taille à gauche est la hauteur. –
thx sur l'indice de l'autorelease. Mais maintenant j'ai un autre problème, peut-être pourriez-vous m'aider une autre fois? – gabac