2 votes

Comment faire en sorte que le texte se déroule ou défiler dans l'en-tête de section UITableView?

Je cherche à faire en sorte que le texte dans l'en-tête d'une vue de tableau (UITableView) se plie et/ou défile.

J'ai essayé ceci:

// prend en charge le mode de saut de ligne pour plusieurs lignes
headerLabel.lineBreakMode = UILineBreakModeWordWrap;

// 0 signifie un nombre quelconque de lignes - nécessaire pour plusieurs lignes
headerLabel.numberOfLines = 0;

// ajuster le texte  
[headerLabel sizeToFit];

mais sans succès.

Des suggestions?

2voto

Finnsanity Points 21

Assurez-vous de définir la hauteur de l'en-tête en utilisant

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section)

1voto

Prince Kumar Points 11

Essayez cet exemple dans viewForHeaderInSection:

 UIView* customView = [[UIView alloc] init];
 UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
 headerLabel.backgroundColor = [UIColor clearColor];
 headerLabel.opaque = YES;
 headerLabel.textColor = [UIColor whiteColor];

 headerLabel.highlightedTextColor = [UIColor whiteColor];

 headerLabel.shadowColor = [UIColor colorWithRed:0.0f/255.0f green:0.0f/255.0f blue:0.0f/255.0f alpha:0.25f];
 headerLabel.shadowOffset = CGSizeMake(0.0f, -1.0f);

 headerLabel.font = [UIFont boldSystemFontOfSize:16];
 headerLabel.frame = CGRectMake(10.0, 0.0, 232.0,40.0);

 headerLabel.numberOfLines=2;
 headerLabel.text=[self.keys objectAtIndex:section];

 [customView setBackgroundColor:[UIColor colorWithRed:0.64f green:0.68f blue:0.72f alpha:1.0f]];
 [customView addSubview:headerLabel];

 return  customView;

0voto

Bittu Points 466

En ce qui concerne l'étiquette, c'est tout ce que vous avez à faire pour que cela fonctionne. Une question/suggestion, vous faites cela pour une étiquette dans la méthode – tableView:viewForHeaderInSection: du tableView, n'est-ce pas?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X