web-dev-qa-db-fra.com

Cellule UITableView avec image d'arrière-plan

j'ai un UITableView, où theres 3 images. 1 pour la cellule sélectionnée, 1 pour l'arrière-plan de la cellule et 1 pour l'arrière-plan TableView.

Ma cellule sélectionnée fonctionne très bien, mais a quelques problèmes avec les cellules normales et l'arrière-plan de TableView (l'arrière-plan derrière les cellules lorsque vous faites défiler vers le haut/beaucoup)

Quelqu'un peut-il m'aider avec un arrière-plan pour chaque cellule et un arrière-plan TableView? comment cela se fait-il?

Fond de cellule normal: (je ne sais pas si c'est bien)

// CELL'S BACKGROUND-IMAGE
    self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"cell_normal.PNG"]];

Fond de cellule sélectionné:

// SELECTED CELL'S BACKGROUND-IMAGE
    UIView *viewSelected = [[[UIView alloc] init] autorelease];
    viewSelected.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"cell_highlighted.PNG"]];
    cell.selectedBackgroundView = viewSelected;
46
Patrick R

Pour Cell

    cell.backgroundView = [[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"cell_normal.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ];  
    cell.selectedBackgroundView =  [[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"cell_pressed.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ];

Pour Tableview

    [mEditTableView setBackgroundView:nil];
    [mEditTableView setBackgroundView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Apple.png"]] ];
144
Naveen Thunga

Vous pouvez définir UITableViewCell background couleur/image, en suivant la méthode déléguée

 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath
 *)indexPath  
{      
     if((indexPath.row)==0)  
       cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"cell_normal.PNG"]]; //set image for cell 0

     if (indexPath.row==1)  
       cell.backgroundColor = [UIColor colorWithRed:.8 green:.6 blue:.6 alpha:1]; //set color for cell 1

     tableView.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"cloud.jpg"]]; //set image for UITableView

  }
10
user2289379

Dans Swift vous pouvez définir l'image d'arrière-plan sur UITableViewCell comme ci-dessous.

cell.backgroundView = UIImageView(image: UIImage(named: "yourImage.png")!)

Écrivez ce code dans cette fonction de vue de table.

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

Cette image se répétera pour chaque ligne.

6
Vikram Pote

cela définit l'arrière-plan de la tableView pas la cellule

// CELL'S BACKGROUND-IMAGE
    self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"cell_normal.PNG"]];

essayez d'obtenir set cellbackground dans cellForRowAtIndexPath

 cell.backgroundColor =  [UIColor colorWithPatternImage:[UIImage imageNamed:@"cell_normal.PNG"]];
3
FoJjen

En Swift 4, cela fonctionne:

cell.backgroundView = UIImageView.init(image: UIImage.init(named: "YORIMAGE.jpg"))
2
David DelMonte

Vous pouvez essayer ce code de bloc pour définir l'image d'arrière-plan de UITableviewCell

self.backgroundView = [[[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"background.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0]] autorelease];

self.selectedBackgroundView = [[[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"background_selected.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0]] autorelease];

J'espère que cela fonctionnera pour vous. :)

0
Bhoopi

définir une image dans la cellule UITableview

cell.imageView.image = [UIImage imageNamed: @ "image.png"];

0
Kiran Bhoraniya

Seule cette solution a fonctionné pour moi.

Cell.backgroundColor = [UIColor clearColor];
Cell.contentView.backgroundColor=[UIColor clearColor];

J'espère que cela t'aides !

0
user5553647