2010-11-24 25 views
3

En fait, j'ai trouvé quelque fil que poser une question comme le mien. mais toutes les solutions qui figure dans ces fils ne peut pas être utilisé dans mon code .. le dernier lien que j'ai lu est How to customize the background color of a UITableViewCell?Comment changer la couleur d'arrière-plan de UITableViewCell en utilisant ma propre combinaison de couleurs

mon problème est que je veux juste changer ma couleur de fond tableviewcell avec ma propre couleur. quelqu'un peut-il m'aider ??

+0

les cellules i mean .. –

+0

Afficher le code que vous avez essayé dans willDisplayCell: forRowAtIndexPath: (la méthode entière incluant le nom et les paramètres de la méthode). Utilisez-vous UITableViewCell ou une sous-classe personnalisée? – Anna

+0

- (void) tableView: (UITableView *) tableView wilLDisplayCell: (UITableViewCell *) forRowAtIndexPath cellulaire: (NSIndexPath *) indexPath { \t UIView * backgroundView = [[[UIView alloc] initWithFrame: CGRectZero] autorelease]; \t backgroundView.backgroundColor = [UIColor yellowColor]; \t cell.backgroundView = backgroundView; \t pour (UIView * vue en cell.contentView.subviews) \t { \t \t view.backgroundColor = [UIColor clearColor]; \t} \t \t //cell.backgroundColor = [UIColor colorWithRed: 0,2 vert: 0,2 bleu: 0.5 alpha: 1]; \t } –

Répondre

3

Que diriez-vous quelque chose comme:

[myCell setBackgroundColor:[UIColor colorWithRed:0.2 blue:0.5 green:0.2 alpha:1]];

Un endroit où vous pouvez mettre ce serait la méthode source de données willDisplayCell:forRowAtIndexPath: de votre point de vue de la table. Sinon, vous pourriez sous-classer UITableViewCell et le définir dans votre initialiseur surchargé. Ou vous pouvez charger la cellule à partir d'un XIB et utiliser Interface Builder pour définir la couleur.

+1

Cela doit être fait dans willDisplayCell: forRowAtIndexPath :. Cela ne fonctionnera pas dans cellForRowAtIndexPath. Voir les documents pour UITableViewCell. – Anna

+0

j'ai été essayer comme ça, désolé de ne pas le déclarer dans ma question, mais il n'y a toujours pas affiché la couleur de fond –

+0

il n'est pas affiché aussi, même je l'ai déplacé dans willDisplayCell: forRowAtIndexPath –

2

essayer ..

cell.backGroundColor = [UIColor colorWithRed:190.0/255.0 blue:190.0/255.0 green:190.0/255.0 alpha:1.0]; 

écrire ce code dans la fonction cellForRowAtIndexPath. U obtiendra ce genre de différentes combinaisons RVB simplement de MS Paint et alpha est l'opacité allant de 0.0 à 1.0.

1

Avant iOS 7 Il suffit d'ajouter cette méthode

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

     [cell setBackgroundColor:[UIColor colorWithRed:(221.0/255.0) green:(221.0/255.0) blue:(221.0/255.0) alpha:1.0]]; 

} 

maintenant dans iOS 7 si vous mettez ce code dans cellForRowAtIndexPath il travaillera

[cell setBackgroundColor:[UIColor colorWithRed:(221.0/255.0) green:(221.0/255.0) blue:(221.0/255.0) alpha:1.0]];