Je veux obtenir l'effet suivant : une cellule de la vue tableau aura un fond bleu, la suivante sera blanche, la suivante sera à nouveau bleue, puis blanche et ainsi de suite... Pourriez-vous me dire comment faire ?
Merci.
Je veux obtenir l'effet suivant : une cellule de la vue tableau aura un fond bleu, la suivante sera blanche, la suivante sera à nouveau bleue, puis blanche et ainsi de suite... Pourriez-vous me dire comment faire ?
Merci.
Lorsque vous utilisez le paramètre par défaut des cellules de tableau, les deux propriétés suivantes coloreront à la fois l'arrière-plan de la cellule et la couleur d'arrière-plan de son étiquette, évitant ainsi de devoir créer une étiquette personnalisée en tant que sous-vue de la ContentView de la cellule.
cell.textLabel.backgroundColor = [UIColor redColor];
cell.contentView.backgroundColor = [UIColor redColor];
// méthode permettant de gagner du temps :
//dans la cellule pour la méthode d'indexation :
static NSString* evenIdentifier = @"even";
static NSString* oddIdentifier = @"odd";
__weak identifier;
if(indexPath.row %2 ==0)
{
identifier = evenIdentifier;
}else{
identifier = oddIdentifier;
}
cell = dequeue..WithIdentifier: identifier;
if(cell == nil){
cell = allocOrLoadNib...;
cell.backgroundColor = (indexPath.row %2 ==0 ? evenColor : oddColor);
}
// modifie le contenu de la cellule et le renvoie ensuite. Travail facile.
// il s'agit d'un code de contour. Veuillez ne pas le copier directement.
Cela a fonctionné pour moi Dans cellForRowAtIndexPath ,
cell.textLabel.backgroundColor = [UIColor clear];
cell.detailTextLabel.backgroundColor = [UIColor clearColor];
cell.contentView.backgroundColor = [UIColor grayColor]; //whichever color u want
cell.backgroundColor = cell.contentView.backgroundColor;
Pour vos besoins, comme mentionné précédemment, sur la base de la valeur indexPath % 2, vous pouvez exécuter la fonction ci-dessus.
Ce code est une solution un peu plus propre pour le cas où vous utilisez l'étiquette de texte intégrée et ne voulez pas que la couleur de fond blanche de l'étiquette de texte masque la couleur de fond. Cette solution résout également le problème de la violation des coins arrondis d'un style groupé de vue de tableau (qui se produit lorsque vous utilisez cell.contentView.backgroundColor au lieu de cell.backgroundColor) :
UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.backgroundColor = [UIColor redColor];
cell.textLabel.backgroundColor = [UIColor clearColor]; //transparent background
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.
0 votes
Duplicata possible : stackoverflow.com/questions/281515/
1 votes
@willcodejavaforfood ce commentaire est très peu utile et n'est pas pertinent pour la question de l'OP.