Vous aurez à utiliser la viewForHeaderInSection: méthode et de fournir votre propre point de vue. Heureusement, cela peut être un UILabel avec une police spécifique, de sorte que vous pouvez le faire très facilement.
Je laisse mon code ici pour aider quelqu'un avec le même problème:
-(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section {NSString*sectionTitle =@"Just a title";//Create label with section titleUILabel*label =[[[UILabel alloc] init] autorelease];
label.frame =CGRectMake(0,0,284,23);
label.textColor =[UIColor blackColor];
label.font =[UIFont fontWithName:@"Helvetica" size:14];
label.text = sectionTitle;
label.backgroundColor =[UIColor clearColor];//Create header view and add label as a subviewUIView*view =[[UIView alloc] initWithFrame:CGRectMake(0,0,320,100)];[view autorelease];[view addSubview:label];return view;}
C'est grand, cependant, UILabel est une sous-classe directe de UIView, de sorte que vous n'avez pas vraiment besoin de créer un en-tête de la vue et à ajouter de l'étiquette comme une sous-vue. Il vous suffit de retourner l'étiquette elle-même que la vue d'en-tête. Si vous retournez l'étiquette elle-même l'en-tête, comment voulez-vous lui donner un certain décalage sur la gauche? Modification de l'origine.x de l'étiquette de l'image, dans ce cas, ne fonctionne pas.. Une seule ligne de titre ) pour définir le texte du titre de la section: label.text = [self tableView:tableView titleForHeaderInSection:section]; Si vous utilisez l'Interface Builder pour créer votre table, vous devrez également modifier la taille de la hauteur de la section dans les Attributs de l'Inspecteur.
viewForHeaderInSection pourrait fonctionner très bien... mais voici une alternative qui fonctionne très bien pour moi (Xcode 5 et IOS7 cible):
//To set the background color and text color of the Table Headers-(void)tableView:(UITableView*)tableView willDisplayHeaderView:(UIView*)view forSection:(NSInteger)section
{//Background color
view.tintColor =[UIColor colorWithRed:0.329 green:0.557 blue:0.827 alpha:1.000];//Text Color & AlignmentUITableViewHeaderFooterView*header =(UITableViewHeaderFooterView*)view;[header.textLabel setTextColor:[UIColor whiteColor]];[header.textLabel setTextAlignment:NSTextAlignmentCenter];//Text FontUIFont*saveFont = header.textLabel.font;[header.textLabel setFont:[UIFont fontWithName:saveFont.fontName size:18.0]];//Another way to set the background color//Note: does not preserve gradient effect of original heade!r//header.contentView.backgroundColor = [UIColor blackColor];}
Vous aurez à utiliser la
viewForHeaderInSection:
méthode et de fournir votre propre point de vue. Heureusement, cela peut être un UILabel avec une police spécifique, de sorte que vous pouvez le faire très facilement.OriginalL'auteur Jasarien
Grâce Jasarien! Vous étiez tout à fait raison.
Je laisse mon code ici pour aider quelqu'un avec le même problème:
Si vous retournez l'étiquette elle-même l'en-tête, comment voulez-vous lui donner un certain décalage sur la gauche? Modification de l'origine.x de l'étiquette de l'image, dans ce cas, ne fonctionne pas..
Une seule ligne de titre )
pour définir le texte du titre de la section:
label.text = [self tableView:tableView titleForHeaderInSection:section];
Si vous utilisez l'Interface Builder pour créer votre table, vous devrez également modifier la taille de la hauteur de la section dans les Attributs de l'Inspecteur.
OriginalL'auteur camilo
Vous devez remplacer les
pour donner de la hauteur requise pour le titre de la section. Sinon, il va se chevauchent avec la cellule.
OriginalL'auteur ArunGJ
viewForHeaderInSection pourrait fonctionner très bien... mais voici une alternative qui fonctionne très bien pour moi (Xcode 5 et IOS7 cible):
Voici à quoi il ressemble
OriginalL'auteur ericWasTaken