web-dev-qa-db-fra.com

UITableView Cell sélectionné Color?

J'ai créé un personnalisé UITableViewCell. La vue en tableau montre bien les données. Ce que je suis coincé est lorsque l'utilisateur touche une cellule de table, puis je veux afficher la couleur d'arrière-plan de la cellule autre que les valeurs par défaut [couleur bleue] pour mettre en surbrillance la sélection de cellule. J'utilise ce code mais rien ne se passe:

cell.selectedBackgroundView.backgroundColor=[UIColor blackColor];
305
Momi

Je pense que vous étiez sur la bonne voie, mais selon la définition de classe pour selectedBackgroundView:

La valeur par défaut est nil pour les cellules des tables de style brut (UITableViewStylePlain) et non nil pour les tables de groupe de sections UITableViewStyleGrouped).

Par conséquent, si vous utilisez une table de style brut, vous devrez allouer-initier un nouveau UIView ayant la couleur d'arrière-plan souhaitée, puis l'attribuer à selectedBackgroundView.

Alternativement, vous pouvez utiliser:

cell.selectionStyle = UITableViewCellSelectionStyleGray;

si tout ce que vous vouliez était un fond gris lorsque la cellule est sélectionnée. J'espère que cela t'aides.

355
Andrew Little

Pas besoin de cellules personnalisées. Si vous souhaitez uniquement modifier la couleur sélectionnée de la cellule, procédez comme suit:

Objective-C:

UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor redColor];
[cell setSelectedBackgroundView:bgColorView];

Swift:

let bgColorView = UIView()
bgColorView.backgroundColor = UIColor.redColor()
cell.selectedBackgroundView = bgColorView

Swift 3:

let bgColorView = UIView()
bgColorView.backgroundColor = UIColor.red
cell.selectedBackgroundView = bgColorView

Swift 4.x:

let bgColorView = UIView()
bgColorView.backgroundColor = .red
cell.selectedBackgroundView = bgColorView

Edit: mis à jour pour ARC

Édition: Ajoute Swift 3

634
Maciej Swic

Si vous avez une table groupée avec une seule cellule par section, ajoutez simplement cette ligne supplémentaire au code: bgColorView.layer.cornerRadius = 10;

UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor redColor]];
bgColorView.layer.cornerRadius = 10;
[cell setSelectedBackgroundView:bgColorView];
[bgColorView release]; 

N'oubliez pas d'importer QuartzCore.

36
Christian Fritz

La vue d'arrière-plan de la sélection de cellules de la vue Tableau peut être définie via le Storyboard dans Interface Builder:

table view cell selection color None

35
pkamb

Swift 3: cela a fonctionné pour moi lorsque vous l'avez mis dans la méthode cellForRowAtIndexPath:

let view = UIView()
view.backgroundColor = UIColor.red
cell.selectedBackgroundView = view
27
phitsch

Ce qui suit fonctionne pour moi dans iOS 8.

Je dois définir le style de sélection sur UITableViewCellSelectionStyleDefault pour que la couleur d'arrière-plan personnalisée fonctionne. S'il s'agit d'un autre style, la couleur d'arrière-plan personnalisée sera ignorée. Il semble y avoir un changement de comportement car les réponses précédentes doivent définir le style sur none à la place.

Le code complet de la cellule comme suit:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"MyCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    // This is how you change the background color
    cell.selectionStyle = UITableViewCellSelectionStyleDefault;
    UIView *bgColorView = [[UIView alloc] init];
    bgColorView.backgroundColor = [UIColor redColor];
    [cell setSelectedBackgroundView:bgColorView];        
    return cell;
}
22
samwize

Créez une cellule personnalisée pour votre cellule de tableau et dans la cellule personnalisée class.m, mettez le code ci-dessous, cela fonctionnera correctement. Vous devez placer l’image couleur souhaitée dans selectionBackground UIImage.

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    UIImage *selectionBackground = [UIImage imageNamed:@"yellow_bar.png"];
    UIImageView *iview=[[UIImageView alloc] initWithImage:selectionBackground];
    self.selectedBackgroundView=iview;
}
18
rajesh

Swift 3.0 extension

extension UITableViewCell {
    var selectionColor: UIColor {
        set {
            let view = UIView()
            view.backgroundColor = newValue
            self.selectedBackgroundView = view
        }
        get {
            return self.selectedBackgroundView?.backgroundColor ?? UIColor.clear
        }
    }
}

cell.selectionColor = UIColor.FormaCar.blue

10
Nik Kov
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIView *view = [[UIView alloc] init];
    [view setBackgroundColor:[UIColor redColor]];
    [cell setSelectedBackgroundView:view];
}

Nous devons définir la vue d'arrière-plan sélectionnée dans cette méthode.

9
Hemanshu Liya

Dans Swift 4, vous pouvez également définir la couleur d'arrière-plan de votre cellule de tableau globalement (à partir de ici ):

let backgroundColorView = UIView()
backgroundColorView.backgroundColor = UIColor.red
UITableViewCell.appearance().selectedBackgroundView = backgroundColorView
8
sundance

Si vous souhaitez ajouter une couleur personnalisée en surbrillance à votre cellule (et que celle-ci contient des boutons, des étiquettes, des images, etc.), j'ai suivi les étapes suivantes:

Par exemple, si vous voulez une couleur jaune sélectionnée:

1) Créez une vue qui correspond à toute la cellule avec une opacité de 20% (avec une couleur jaune), appelée par exemple backgroundselectedView.

2) Dans le contrôleur de cellule, écrivez ceci:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
     self.backgroundselectedView.alpha=1;
    [super touchesBegan:touches withEvent:event];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    self.backgroundselectedView.alpha=0;
    [super touchesEnded:touches withEvent:event];
}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
    self.backgroundSelectedImage.alpha=0;
    [super touchesCancelled:touches withEvent:event];
}
7
Javier Flores Font

Si vous utilisez un TableViewCell personnalisé, vous pouvez également remplacer awakeFromNib:

override func awakeFromNib() {
    super.awakeFromNib()

    // Set background color
    let view = UIView()
    view.backgroundColor = UIColor.redColor()
    selectedBackgroundView = view
}
6
Franck

Un dernier conseil à la manière dont Christian affiche le fond des angles arrondis pour la table groupée.

Si j'utilise cornerRadius = 10 pour cellule, le fond de sélection arrondi de quatre coins est affiché. Ce n'est pas la même chose avec l'interface utilisateur par défaut de la vue tableau.

Donc, je pense à un moyen facile de le résoudre avec cornerRadius. Comme vous pouvez le constater à l'aide des codes ci-dessous, vérifiez l'emplacement de la cellule (haut, bas, milieu ou haut) et ajoutez une ou plusieurs sous-couches pour masquer le coin supérieur ou inférieur. Cela montre exactement le même aspect avec l’arrière-plan de sélection de la vue tableau par défaut.

J'ai testé ce code avec iPad splitterview. Vous pouvez modifier la position du cadre de patchLayer selon vos besoins.

S'il vous plaît laissez-moi savoir s'il existe un moyen plus facile d'atteindre le même résultat.

if (tableView.style == UITableViewStyleGrouped) 
{
    if (indexPath.row == 0) 
    {
        cellPosition = CellGroupPositionAtTop;
    }    
    else 
    {
        cellPosition = CellGroupPositionAtMiddle;
    }

    NSInteger numberOfRows = [tableView numberOfRowsInSection:indexPath.section];
    if (indexPath.row == numberOfRows - 1) 
    {
        if (cellPosition == CellGroupPositionAtTop) 
        {
            cellPosition = CellGroupPositionAtTopAndBottom;
        } 
        else 
        {
            cellPosition = CellGroupPositionAtBottom;
        }
    }

    if (cellPosition != CellGroupPositionAtMiddle) 
    {
        bgColorView.layer.cornerRadius = 10;
        CALayer *patchLayer;
        if (cellPosition == CellGroupPositionAtTop) 
        {
            patchLayer = [CALayer layer];
            patchLayer.frame = CGRectMake(0, 10, 302, 35);
            patchLayer.backgroundColor = YOUR_BACKGROUND_COLOR;
            [bgColorView.layer addSublayer:patchLayer];
        } 
        else if (cellPosition == CellGroupPositionAtBottom) 
        {
            patchLayer = [CALayer layer];
            patchLayer.frame = CGRectMake(0, 0, 302, 35);
            patchLayer.backgroundColor = YOUR_BACKGROUND_COLOR;
            [bgColorView.layer addSublayer:patchLayer];
        }
    }
}
5
Wonil

Selon la couleur personnalisée pour une cellule sélectionnée dans UITableView, excellente solution selon Maciej Swic's answer

Pour ajouter à cela, vous déclarez Swic réponse dans la configuration de cellule généralement sous:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Et pour un effet supplémentaire, vous pouvez utiliser des valeurs RVB pour une apparence de couleur personnalisée au lieu des couleurs système. Dans mon code, voici comment je l'ai réalisé:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

} 

 static NSString *CellIdentifier = @"YourCustomCellName";
 MakanTableCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

// Configure the cell...

if (cell == nil) {

cell = [[[NSBundle mainBundle]loadNibNamed:@"YourCustomCellClassName" owner:self options:nil]objectAtIndex:0];
                    } 

UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor colorWithRed:255.0/256.0 green:239.0/256.0 blue:49.0/256.0 alpha:1];
bgColorView.layer.cornerRadius = 7;
bgColorView.layer.masksToBounds = YES;
[cell setSelectedBackgroundView:bgColorView];


return cell;

}

Faites-moi savoir si cela fonctionne pour vous aussi. Vous pouvez jouer avec le numéro cornerRadius pour les effets sur les coins de la cellule sélectionnée.

3
DrBongo

J'ai une approche légèrement différente de celle de tous les autres qui reflète la sélection au toucher plutôt qu'après avoir été sélectionnée. J'ai un UITableViewCell sous-classé. Tout ce que vous avez à faire est de définir la couleur d'arrière-plan dans les événements tactiles, ce qui simule la sélection au toucher, puis de définir la couleur d'arrière-plan dans la fonction setSelected. La définition de la couleur d'arrière-plan dans la fonction selSelected permet de désélectionner la cellule. Assurez-vous de transmettre l'événement tactile au super, sinon la cellule ne se comportera pas comme si elle était sélectionnée.

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    self.backgroundColor = UIColor(white: 0.0, alpha: 0.1)
    super.touchesBegan(touches, withEvent: event)
}

override func touchesCancelled(touches: NSSet!, withEvent event: UIEvent!) {
    self.backgroundColor = UIColor.clearColor()
    super.touchesCancelled(touches, withEvent: event)
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
    self.backgroundColor = selected ? UIColor(white: 0.0, alpha: 0.1) : UIColor.clearColor()
}
3
Stephen Donnell

Je tiens à noter que l'éditeur XIB vous offre les options standard suivantes:

Section: bleu/gris/aucun

(La colonne de droite avec les options, 4ème onglet, premier groupe "Cellule de la vue du tableau", 4ème sous-groupe, le premier des 3 éléments se lit "Sélection")

Vous pouvez probablement atteindre ce que vous voulez faire en sélectionnant la bonne option standard.

3

Pour remplacer UITableViewCellsetSelected fonctionne également.

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Set background color
    let view = UIView()
    view.backgroundColor = UIColor.redColor()
    selectedBackgroundView = view
}
2
Quanlong

pour Swift 3.0:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let cell = super.tableView(tableView, cellForRowAt: indexPath)

    cell.contentView.backgroundColor = UIColor.red
}
2
Wilson

Swift 4+:

Ajouter les lignes suivantes dans votre cellule de tablea

let bgColorView = UIView()
bgColorView.backgroundColor =  .red
self.selectedBackgroundView = bgColorView

Enfin, il devrait être comme ci-dessous

override func setSelected(_ selected: Bool, animated: Bool)
    {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
        let bgColorView = UIView()
        bgColorView.backgroundColor =  .red
        self.selectedBackgroundView = bgColorView

    }
2
Rajesh Loganathan

Pour ajouter le fond pour toutes les cellules (en utilisant la réponse de Maciej):

for (int section = 0; section < [self.tableView numberOfSections]; section++) {
        for (int row = 0; row < [self.tableView numberOfRowsInSection:section]; row++) {
            NSIndexPath* cellPath = [NSIndexPath indexPathForRow:row inSection:section];
            UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:cellPath];

            //stuff to do with each cell
            UIView *bgColorView = [[UIView alloc] init];
            bgColorView.backgroundColor = [UIColor redColor];
            [cell setSelectedBackgroundView:bgColorView];
        }
    } 
2
John

pour ceux qui veulent juste se débarrasser de l’arrière-plan gris sélectionné par défaut, insérez cette ligne de code dans votre fonction cellForRowAtIndexPath:

yourCell.selectionStyle = .None
2
Paul Lehn

Swift 4.x

Pour modifier la couleur de fond de la sélection en n’importe quelle couleur, utilisez Swift Extension

Créez l'extension UITableView Cell comme ci-dessous

extension UITableViewCell{

    func removeCellSelectionColour(){
        let clearView = UIView()
        clearView.backgroundColor = UIColor.clear
        UITableViewCell.appearance().selectedBackgroundView = clearView
    } 

}

Ensuite, appelez removeCellSelectionColour () avec l'instance de cellule.

1
iSrinivasan27

En cas de classe de cellule personnalisée. Juste remplacer:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state

    if (selected) {
        [self setBackgroundColor: CELL_SELECTED_BG_COLOR];
        [self.contentView setBackgroundColor: CELL_SELECTED_BG_COLOR];
    }else{
        [self setBackgroundColor: [UIColor clearColor]];
        [self.contentView setBackgroundColor: [UIColor clearColor]];
    }
}
1
Lal Krishna

Voici les parties importantes du code nécessaires pour une table groupée. Lorsque l'une des cellules d'une section est sélectionnée, la première ligne change de couleur. Si vous ne définissez pas initialement le style de sélection de cellule sur no, il y a un double rechargement annulateur lorsque l'utilisateur clique sur row0 où la cellule devient bgColorView, puis estompe et recharge à nouveau bgColorView. Bonne chance et laissez-moi savoir s'il existe un moyen plus simple de le faire.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    if ([indexPath row] == 0) 
    {
        cell.selectionStyle = UITableViewCellSelectionStyleNone;

        UIView *bgColorView = [[UIView alloc] init];
        bgColorView.layer.cornerRadius = 7;
        bgColorView.layer.masksToBounds = YES;
        [bgColorView setBackgroundColor:[UIColor colorWithRed:.85 green:0 blue:0 alpha:1]];
        [cell setSelectedBackgroundView:bgColorView];

        UIColor *backColor = [UIColor colorWithRed:0 green:0 blue:1 alpha:1];
        cell.backgroundColor = backColor;
        UIColor *foreColor = [UIColor colorWithWhite:1 alpha:1];
        cell.textLabel.textColor = foreColor;

        cell.textLabel.text = @"row0";
    }
    else if ([indexPath row] == 1) 
    {
        cell.selectionStyle = UITableViewCellSelectionStyleNone;

        UIColor *backColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:1];
        cell.backgroundColor = backColor;
        UIColor *foreColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1];
        cell.textLabel.textColor = foreColor;

        cell.textLabel.text = @"row1";
    }
    else if ([indexPath row] == 2) 
    {
        cell.selectionStyle = UITableViewCellSelectionStyleNone;

        UIColor *backColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:1];
        cell.backgroundColor = backColor;
        UIColor *foreColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1];
        cell.textLabel.textColor = foreColor;

        cell.textLabel.text = @"row2";
    }
    return cell;
}

#pragma mark Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:[indexPath section]];
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:path];
    [cell setSelectionStyle:UITableViewCellSelectionStyleBlue];

    [tableView selectRowAtIndexPath:path animated:YES scrollPosition:UITableViewScrollPositionNone];

}

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tvStat cellForRowAtIndexPath:indexPath];
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
}

#pragma mark Table view Gestures

-(IBAction)singleTapFrom:(UIGestureRecognizer *)tapRecog
{

    CGPoint tapLoc = [tapRecog locationInView:tvStat];
    NSIndexPath *tapPath = [tvStat indexPathForRowAtPoint:tapLoc];

    NSIndexPath *seleRow = [tvStat indexPathForSelectedRow];
    if([seleRow section] != [tapPath section])
        [self tableView:tvStat didDeselectRowAtIndexPath:seleRow];
    else if (seleRow == nil )
        {}
    else if([seleRow section] == [tapPath section] || [seleRow length] != 0)
        return;

    if(!tapPath)
        [self.view endEditing:YES];

    [self tableView:tvStat didSelectRowAtIndexPath:tapPath];
}
1
nchinda2

J'utilise l'approche ci-dessous et fonctionne bien pour moi,

class MyTableViewCell : UITableViewCell {

                var defaultStateColor:UIColor?
                var hitStateColor:UIColor?

                 override func awakeFromNib(){
                     super.awakeFromNib()
                     self.selectionStyle = .None
                 }

// if you are overriding init you should set selectionStyle = .None

                override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
                    if let hitColor = hitStateColor {
                        self.contentView.backgroundColor = hitColor
                    }
                }

                override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
                    if let defaultColor = defaultStateColor {
                        self.contentView.backgroundColor = defaultColor
                    }
                }

                override func touchesCancelled(touches: Set<UITouch>?, withEvent event: UIEvent?) {
                    if let defaultColor = defaultStateColor {
                        self.contentView.backgroundColor = defaultColor
                    }
                }
            }
1
Suryavel TR
[cell setSelectionStyle:UITableViewCellSelectionStyleGray];

Assurez-vous que vous avez utilisé la ligne ci-dessus pour utiliser l'effet de sélection

0
tushar

C'est facile quand le style de vue de table est simple, mais dans le style de groupe, c'est un petit problème, je le résout en:

CGFloat cellHeight = [self tableView:tableView heightForRowAtIndexPath:indexPath];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kGroupTableViewCellWidth+2, cellHeight)];
view.backgroundColor = kCommonHighlightedColor;
cell.selectedBackgroundView = view;
[view release];
UIRectCorner cornerFlag = 0;
CGSize radii = CGSizeMake(0, 0);
NSInteger theLastRow = --> (yourDataSourceArray.count - 1);
if (indexPath.row == 0) {
    cornerFlag = UIRectCornerTopLeft | UIRectCornerTopRight;
    radii = CGSizeMake(10, 10);
} else if (indexPath.row == theLastRow) {
    cornerFlag = UIRectCornerBottomLeft | UIRectCornerBottomRight;
    radii = CGSizeMake(10, 10);
}
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:cornerFlag cornerRadii:radii];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = maskPath.CGPath;
view.layer.mask = shapeLayer;

noté le kGroupTableViewCellWidth, je le définit comme 300, c'est la largeur de la largeur de la cellule de la table de groupe dans l'iPhone

0
勇敢的心
override func setSelected(selected: Bool, animated: Bool) {
    // Configure the view for the selected state

    super.setSelected(selected, animated: animated)
    let selView = UIView()

    selView.backgroundColor = UIColor( red: 5/255, green: 159/255, blue:223/255, alpha: 1.0 )
    self.selectedBackgroundView = selView
}
0
Ranjan

Essayez de suivre le code.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[cellIdArray objectAtIndex:indexPath.row] forIndexPath:indexPath];

    // Configure the cell...
    cell.backgroundView =
    [[UIImageView alloc] init] ;
    cell.selectedBackgroundView =[[UIImageView alloc] init];

    UIImage *rowBackground;
    UIImage *selectionBackground;


    rowBackground = [UIImage imageNamed:@"cellBackgroundDarkGrey.png"];
    selectionBackground = [UIImage imageNamed:@"selectedMenu.png"];

    ((UIImageView *)cell.backgroundView).image = rowBackground;
    ((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;



    return cell;
}

// version rapide:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


        let cell = tableView.dequeueReusableCell(withIdentifier: "cell")! as UITableViewCell


        cell.selectedBackgroundView = UIImageView()
        cell.backgroundView=UIImageView()

        let selectedBackground : UIImageView = cell.selectedBackgroundView as! UIImageView
        selectedBackground.image = UIImage.init(named:"selected.png");

        let backGround : UIImageView = cell.backgroundView as! UIImageView
        backGround.image = UIImage.init(named:"defaultimage.png");

        return cell


    } 
0
Avijit Nagare

J'utilise iOS 9.3 et la définition de la couleur via le Storyboard ou la configuration de cell.selectionStyle n'a pas fonctionné pour moi, mais le code ci-dessous a fonctionné:

UIView *customColorView = [[UIView alloc] init];
customColorView.backgroundColor = [UIColor colorWithRed:55 / 255.0 
                                                  green:141 / 255.0 
                                                   blue:211 / 255.0 
                                                  alpha:1.0];
cell.selectedBackgroundView = customColorView;

return cell;

J'ai trouvé cette solution ici .

0
Felipe Andrade