Dans cellForRowAtIndexPath
J'ajoute un UIImageView
à cell.contentView
. Le problème est que lorsque la cellule fait défiler l'écran et se rallume, elle rajoute la même image par-dessus celle qui est déjà là. Cela se produit continuellement jusqu'à ce que j'obtienne une image floue très empilée.uitableview - les images personnalisées continuent de se charger dans cell.contentView
Devez-vous continuer à supprimer les vues d'image que vous ajoutez à cell.contentView
? Si oui, dans quelle méthode de délégué faites-vous cela?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CellIdentifier";
MyTableCell *cell = (MyTableCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyTableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.jpg"]];
imageView.center = CGPointMake(310, 48);
[cell.contentView addSubview:imageView];
[imageView release];
return cell;
}
Il est un peu difficile de dire sans code pour voir ce qui se passe, mais il semble que votre problème soit probablement lié à la réutilisation des cellules de la table, ce qui est une pratique recommandée et est généralement implémentée par le modèle XCode. Pouvez-vous poster une partie de votre code? –
ajouté un peu de code – sol
juste par curiosité, si vous chargez la cellule à partir d'une plume, pourquoi ne pas ajouter l'image dans la plume au lieu de le faire par programmation? – filipe