0

我查看了一些示例 LazyLoading 以在单元格可见且加载完成时加载图像。我注意到他们不调用 ReloadData 如何更改图像而无需调用 ReloadData 或重新加载特定行?

我认为更改地址处的图像数据可以做到这一点,但它不起作用。

我试过

 for (NSIndexPath *indexPath in visiblePaths)
{

        UIBubbleTableViewCell *aCell = (UIBubbleTableViewCell *)[self.bubbleTableView cellForRowAtIndexPath:indexPath];
        NSBubbleData *cellData = [aCell data];
        cellData.avatar = [self.profileImages objectForKey:[NSString stringWithFormat:@"%@", [cellData posterID]]];

}

但是,这不会更新图像。我必须在 for 循环之后调用 ReloadData 才能加载图像。如果我不调用 ReloadData 它不会更新,直到单元格再次离开屏幕并重新出现。

4

1 回答 1

1

查看 的源代码UIBubbleTableViewCell,它似乎没有处理数据更新。但是,看起来只要您设置单元格的框架,就会重新应用数据。所以做这样的事情可能是一种解决方法(我不使用这个库,所以我无法测试它):

aCell.frame = aCell.frame;
于 2013-05-20T22:15:08.223 回答