异步加载内容后更新UITableViewCell高度

时间:2016-08-29 07:35:56

标签: uitableview asynchronous uiimageview autolayout

我正在使用一个框架来异步加载图像(Pinterest的PINRemoteImage)和UITableView。在我的UITableViewCell之一上我有这样的图像,我首先使用占位符对其进行初始化,然后将其替换为真实图像。我不知道加载时真实图像的尺寸,因此占位符的尺寸和真实图像的尺寸可能不同。

使用KVO,我观察UIImageView的{​​{1}}属性,当它重新设置为真实图像时,我将视图的高度约束调整到适当的大小。这在我第一次看到图像时直接显示。它有适当的大小。

然而,单元格的image不会更新它的高度以适合图像(和其他视图),直到单元格第二次出列。只有这样才能让细胞达到合适的高度。

我假设我必须告诉表格或单元格本身需要手动更新布局。但是在所有contentView函数之间,我不太确定在哪里使用它。

那么,哪里是让细胞更新高度到更新图像高度的最佳方法?关于SO的类似问题的其他答案建议重新加载单元格,但这对我来说似乎有点太多了。而且我必须从单元格(图像所在的位置)构建一个回调到表格本身,然后可以触发重新加载。

谢谢!

0 个答案:

没有答案