web-dev-qa-db-fra.com

UITableView: la couleur de cellule sélectionnée n'est pas rendue dans ios13

J'utilise Xcode 11 beta 6, lors de la sélection de la cellule UITableViewcell, la cellule n'a pas été mise en surbrillance, elle a un fond blanc au lieu d'afficher la couleur d'arrière-plan sélectionnée.

7
Haritha Reddy

Cela fonctionne pour moi pour les appareils iOS13 qui construisent avec Xcode11.1

Objectif-c

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

   cell.contentView.backgroundColor = [UIColor clearColor];

}

rapide

cell.contentView.backgroundColor = UIColor.clearColor()
1
Roger Han

La solution suivante a fonctionné pour moi.

  1. J'ai dû affecter clearColor à contentView de ma cellule.

    cell.contentView.backgroundColor = [UIColor clearColor];

  2. Attribuez ensuite une vue d'arrière-plan à la cellule lorsqu'elle est sélectionnée. J'ai ajouté le code ci-dessous dans mon cellForRowAt: méthode:

    UIView *test = [[UIView alloc] init];
    
    test.backgroundColor = [UIColor colorWithRed:213.0f/255.0f green:239.0f/255.0f blue:222.0f/255.0f alpha:1.0f];
    
    your_Cell.selectedBackgroundView = test;
    
0
Ashutosh Shukla