Comment personnaliser la couleur de fond de l'étiquette standard dans un UITableViewCell?

StackOverflow https://stackoverflow.com/questions/403820

  •  03-07-2019
  •  | 
  •  

Question

Cela fait plusieurs heures que j'essaie de comprendre comment faire cela, mais sans succès. Il existe plusieurs solutions possibles pour cela lors de la recherche sur Google, mais rien ne semble fonctionner.

J'essaie de personnaliser la couleur d'arrière-plan du UILabel standard utilisé dans une UITableViewCell (car j'ai déjà personnalisé la couleur d'arrière-plan de la cellule elle-même), mais rien ne semble fonctionner.

Je crée mon propre UILabel pour personnaliser les couleurs dans -tableView: cellForRowAtIndexPath:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
cell.text = @"Sample text here";

Mais cela ne fonctionne pas et la vue de table résultante contient toujours un groupe de cellules avec des étiquettes avec du texte noir et un arrière-plan blanc.

Des indices sur ce que je fais mal ici?

UPDATE: Si j'essaie plutôt de procéder comme suit:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
label.text = @"Sample text here";

Je reçois un tas de UITableViewCells sans texte du tout.

Était-ce utile?

La solution

Il semble que vous affectiez le texte à la cellule au lieu de l'étiquette. Vous voulez probablement:

label.text = @"Sample text here";

De plus, vous devrez définir le cadre de l'étiquette comme vous le souhaitez:

label.frame = CGRectMake(10,10, 80, 40);

ou directement dans le constructeur:

label = [[UILabel alloc] initWithFrame:myFrame];

Autres conseils

Je ne ferais pas cela dans le code. Je le ferais avec un fichier XIB personnalisé, puis le chargerais dans votre

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath

fonction déléguée. De cette façon, vous pourrez concevoir le fichier XIB selon vos spécifications exactes et le modifier.

Bonne chance!

Vous avez déjà posé cette question et reçu des réponses correctes;

Comment personnaliser la couleur de fond d'un UITableViewCell? <

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top