画像を含むセルを含むテーブルビューがありますが、再利用されるセルには、新しい画像がダウンロードされて設定されるまで、再利用される前のセルの画像が含まれています。
画像をnilに設定しようとしました。(imageV は HJManagedImageV のサブクラスです。ソースはここにあります: HJManagedImageV
[cell.imageV setImage:nil];
セッター
-(void)setImage:(UIImage *)theImage{
if (theImage==image) {
//when the same image is on the screen multiple times, an image that is alredy set might be set again with the same image.
return;
}
[theImage retain];
[image release];
image = theImage;
[imageView removeFromSuperview];
self.imageView = [[[UIImageView alloc] initWithImage:theImage] autorelease];
[self addSubview:imageView];
[imageView setNeedsLayout];
[self setNeedsLayout];
[loadingWheel stopAnimating];
[loadingWheel removeFromSuperview];
self.loadingWheel = nil;
self.hidden=NO;
if (image!=nil) {
[callbackOnSetImage managedImageSet:self];
}
}
imageV を非表示に設定することによる回避策がありますが、読み込みスピナーが失われ、nil に設定しても機能しない理由を知りたいです。
誰もが何かアイデアを持っています。または、どこかでステップが欠落していますか。