我看过一些示例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,它将不会更新,直到单元格再次离开屏幕并返回视图。
答案 0 :(得分:1)
查看UIBubbleTableViewCell
的源代码,它似乎不会处理数据更新。但是,看起来每次设置单元框架时都会重新应用数据。所以做这样的事情可能是一种解决方法(我不使用这个库,所以我无法测试它):
aCell.frame = aCell.frame;