75 votes

Comment créer une UITableViewCell avec un arrière-plan transparent

J'essaie de définir la couleur d'arrière-plan d'un UITableViewCell sur transparent. Mais rien ne semble fonctionner. J'ai quelques images / boutons dans la tableViewCell et je voudrais faire disparaître le fond blanc grouptableview pour obtenir un effet "flottant" pour les images et les boutons (comme s'ils n'étaient pas à l'intérieur de la table).

Une idée de comment cela pourrait être accompli?

123voto

Ron Srebro Points 4687

Si les deux autres options ne fonctionnent pas, essayez ceci.

 UIView *backView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
backView.backgroundColor = [UIColor clearColor];
cell.backgroundView = backView;
 

45voto

logancautrell Points 7508

C'est effectivement répondu dans les docs de UITableViewCell. Ainsi, alors que vous n'avez pour l'installation de transparence sur vos options de contrôle, la réelle de la cellule, la couleur de fond doit être défini pour chaque ci-dessous.

"Remarque: Si vous souhaitez changer la couleur de fond d'une cellule (par réglage de la couleur d'arrière-plan d'une cellule via la propriété backgroundColor déclaré par UIView) vous devez le faire dans le tableView:willDisplayCell:forRowAtIndexPath: méthode du délégué et pas dans tableView:cellForRowAtIndexPath: de la source de données. Changements pour les couleurs d'arrière-plan des cellules dans un groupe de style de la vue de la table a un effet sur iOS 3.0 qui est différent de celui des versions antérieures du système d'exploitation. Il touche désormais la zone à l'intérieur du rectangle arrondi au lieu de la zone à l'extérieur de l'il."

EDIT: ajout d'un lien

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

31voto

Corey Floyd Points 16747

Commencez avec ces articles pour obtenir la couleur d'arrière-plan correctement le programme d'installation:

http://howtomakeiphoneapps.com/2009/03/how-to-add-a-nice-background-image-to-your-grouped-table-view/

http://pessoal.org/blog/2009/02/25/customizing-the-background-border-colors-of-a-uitableview/

Ensuite, essayez toutes les lignes suivantes:

[[cell contentView] setBackgroundColor:[UIColor clearColor]];
[[cell backgroundView] setBackgroundColor:[UIColor clearColor]];
[cell setBackgroundColor:[UIColor clearColor]];

Il n'y a plus qu'un seul point de vue se cachant dans une UITableViewCell. Cela devrait rendre toutes celles qui sont dans votre manière claire.

27voto

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

    cell.backgroundColor = [UIColor clearColor];
    cell.backgroundView.backgroundColor = [UIColor clearColor];
}

20voto

MuhammadAamirALi Points 2555

J'ai une solution simple

 cell.backgroundColor = [UIColor clearColor];
 

Prograide.com

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.

Powered by:

X