2010-11-20 6 views
0

Donc j'utilise textLabel et detailTextLabel pour ajouter des informations sur mes cellules TableView mais il y a un problème.UITableViewCell Texte Problème

Une boîte blanche entoure les deux étiquettes et j'ai essayé de définir leur backgroundColor sur clearColor, mais cela ne semble pas fonctionner.

Des suggestions?

+1

La façon de définir backgroundColor à clearColor est la bonne façon. Peut-être que quelque chose ne va pas dans la façon dont vous ajoutez textLabel et detailTextLabel à une cellule personnalisée. – AechoLiu

Répondre

1

Par défaut, UITableView définit la couleur d'arrière-plan de l'étiquette sur la couleur d'arrière-plan de la vue de table. Ceci est sans doute pour l'optimisation (il laisse l'étiquette soit « opaque », donc pas de mélange alpha est nécessaire lorsque compositing) =

Il y a deux principaux correctifs à ce problème.

  • Dans votre UITableViewDelegate, mettre en œuvre -tableView: willDisplayCell: forRowAtIndexPath: et définissent backgroundColor = nil et opaque = NO. (Pour autant que je sache, nil est généralement équivalent à [UIColor clearColor].)
  • Remplacer -[UITableViewCell setSelected:animated] et backgroundColor et opaque comme ci-dessus. Cela fonctionne parce que setSelected: animated: est appelé avant que la cellule ne soit affichée pour la première fois, mais est un peu plus ickier (ça s'appelle beaucoup).
+0

Salut. J'ai donc fait quelque chose comme cell.backgroundColor = nil et cell.opaque = NO; mais cela a donné à mon texte un fond noir au lieu du blanc qu'il avait auparavant. Aucune suggestion? – Anthony

+0

En fait, je l'ai fait moi-même, clearColor à la place! Merci pour l'aide-partenaire – Anthony

Questions connexes