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;
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"]] ];
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
}
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.
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"]];
En Swift 4, cela fonctionne:
cell.backgroundView = UIImageView.init(image: UIImage.init(named: "YORIMAGE.jpg"))
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. :)
définir une image dans la cellule UITableview
cell.imageView.image = [UIImage imageNamed: @ "image.png"];
Seule cette solution a fonctionné pour moi.
Cell.backgroundColor = [UIColor clearColor];
Cell.contentView.backgroundColor=[UIColor clearColor];
J'espère que cela t'aides !