2011-12-08 4 views
3

J'ai une UItableview dans mon application IOS avec quelques informations. J'ai changé la couleur de fond sélectionnée pour clearcolor en utilisant le code suivant:IOS cellule uitableview fond sélectionné

UIView *bgColorView = [[UIView alloc] init]; 
[bgColorView setBackgroundColor:[UIColor clearColor]]; 
[cell setSelectedBackgroundView:bgColorView]; 
[bgColorView release]; 

Il y a du texte et 2 images dans la cellule, j'ai construire cela en utilisant CGRectMake. Mais lorsque je sélectionne et maintient une cellule de tableau, les images disparaissent derrière ce qui ressemble à un fond blanc.

enter image description here

Comme vous pouvez le voir, je suis maintenant la cellule « Dacnusa sibrica », comment puis-je résoudre ce problème?

+0

Comment ajoutez-vous vos images à la cellule? –

+0

J'ajoute les images en utilisant var1 = [[UIImageView alloc] initWithFrame: var2]; et [cell.contentView addSubview: var1]; – Daniel

Répondre

14

Si vous souhaitez désactiver la sélection bleue de cellules que vous pouvez également définir le mode de sélection de la cellule au lieu de modifier l'arrière-plan:

cell.selectionStyle = UITableViewCellSelectionStyleNone 

Cela désactive simplement la sélection bleue lorsque vous touchez la cellule mais permet toujours à la cellule d'être sélectionnée (et donc traitée par code).

+0

J'ai ajouté votre code et cela fonctionne! Merci de votre aide! – Daniel

-1

Avez-vous utilisé [cell.contentView addSubview: image]? utilisez [tableView deselectRowAtIndexPath: indexPath animé: YES]; pour décochant la cellule

+0

Oui j'ai utilisé [cell.contentView addSubview: image], où dois-je placer [tableView deselectRowAtIndexPath: indexPath animé: YES]; ? – Daniel

+0

Cela fonctionne maintenant en utilisant le code que TriPhoenix m'a donné mais merci pour votre suggestion! – Daniel

+0

ok ... btw ... nous utilisons deselectRow .. dans la méthode selectedRowAtIndex pour qu'il ne reste pas sélectionné une fois cliqué. – nikita21

1

Avec la mise en page automatique, il est possible de définir Sélection = Aucun (par défaut est gris) dans Interface Builder.

Questions connexes