我有一个包含UIView的自定义UITableViewCell,我在其中显示了几张图片。
在我的tableView:cellForRowAtIndexPath:函数中,我调用dequeueReusableCellWithIdentifier:重用旧的自定义单元格,然后用新图片更新它们。
问题在于,当我在屏幕上快速滚动时,在新照片加载之前,我会看到旧照片的闪烁,这是没有吸引力的。
我试图解决这个问题:
解决此问题的最佳方法是什么?为什么我的尝试修复程序中出现上述错误?这是我目前的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *cellIdentifier = @"Blah";
blahCell *someCell = (blahCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!someCell) {
//initialize cell
} else {
someCell.imageContainerView = nil;
}
... (other code here)
}
答案 0 :(得分:0)
您可以AFNetworking使用此UIImageView
类别。
每当你必须设置一个新图像时,你只需要调用
[someCell.imageContainerView setImageWithURL:url placeholderImage:placeholderImage];
现在,无论何时滚动,如果未加载图像,您将看到占位符图像,而不是看到以前的单元格图像。
答案 1 :(得分:0)
我尝试将单元格的imageView属性设置为nil
,作为表格视图数据源方法cellForRowAtIndexPath
的第一步。