如何在swift中实现UICollectionView的瀑布布局,根据获取的远程图像改变其高度?

时间:2016-01-19 04:43:14

标签: ios swift uicollectionview pinterest waterfall

我从瀑布布局的研究中收集到的是,我们需要提前知道prepareLayout的高度。但是,如果我们等待获取远程图像,然后找到它们的大小并做prepareLayout,那么会有很多延迟。但我看到很多应用程序使用这种布局与远程图像,如Pinterest,Microsoft Delve等。我在swift中看到了很多瀑布布局示例。但他们使用资产中的图像。

有谁知道如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以从图像中获取尺寸,如果没有可用图像,则可以设置图像。

从后端获取图像后,可以调用reloadData或reloadItemAtIndexPath,在这两种情况下都会为单元格调用布局方法。

您也可以尝试覆盖layoutSubviews方法和Flowlayout方法。