Je suis allé aussi loin que d'utiliser le code suivant pour définir la couleur de fond d'une cellule TableView (en cellForRowAtIndexPath)couleur de fond cellulaire ne montre que le texte
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
cell.backgroundColor = [UIColor yellowColor];
cell.contentView.backgroundColor = [UIColor yellowColor];
UIView* backgroundView = [ [ [ UIView alloc ] initWithFrame:CGRectZero ] autorelease ];
backgroundView.backgroundColor = [ UIColor yellowColor ];
cell.backgroundView = backgroundView;
for (UIView* view in cell.contentView.subviews)
{
view.backgroundColor = [ UIColor yellowColor ];
}
}
// Set up the cell...
if ([[menuList objectAtIndex:indexPath.row] isKindOfClass:[Category class]])
{
cell.text = ((Category *)[menuList objectAtIndex:indexPath.row]).name;
}
else
{
[cell setText: [menuList objectAtIndex:indexPath.row]];
}
return cell;
}
Cependant, quand il rend seulement une partie de la cellule a l'arrière-plan appliqué comme ceci (où z est le remplissage de bg), même l'arrière-plan de l'accessoire est la couleur mais pas le texte.
xxxxxxxxxxxxxxxxxxxx
zzzSearch
xxxxxxxxxxxxxxxxxxxx
La seule façon que je vois de pouvoir changer l'arrière-plan du texte est en définissant la couleur d'arrière-plan de l'affichage du tableau entier dans Interface Builder
Merci sonne comme une racine prometteuse à la solution. J'ai essayé ce que vous avez suggéré (voir l'exemple de code mis à jour ci-dessus), mais toujours pas de joie, des suggestions? –
Pouvez-vous poster une capture d'écran? –
Pas facilement non car Im un peu d'un mac newb, mais je suis sûr que c'est ce que vous suggérez. Je pense que l'étiquette n'est tout simplement pas opaque. Mais comme vous pouvez le voir ci-dessus, j'essaie tout ce que je peux penser. Ai-je manqué quelque chose d'évident? –