Ici est le moyen le plus efficace que j'ai rencontré pour résoudre ce problème, utilisez la willDisplayCell délégué de la méthode (ce qui prend soin de la couleur blanche pour le texte de l'étiquette arrière-plan lors de l'utilisation de la cellule.textLabel.texte et/ou de la cellule.detailTextLabel.de texte):
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { ... }
Lors de ce délégué méthode est appelée la couleur de la cellule est contrôlée par la cellule plutôt que la vue de la table, comme lorsque vous utilisez:
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath { ... }
Donc, dans le corps de la cellule délégué méthode ajoutez le code suivant à alterner les couleurs des cellules ou il suffit d'utiliser la fonction d'appel pour faire toutes les cellules de la table de la même couleur.
if (indexPath.row % 2)
{
[cell setBackgroundColor:[UIColor colorWithRed:.8 green:.8 blue:1 alpha:1]];
}
else [cell setBackgroundColor:[UIColor clearColor]];
Cette solution a bien fonctionné dans ma situation...