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

标签 ios swift uicollectionview pinterest waterfall

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

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

最佳答案

可以从图片中抓取尺寸,如果没有图片,可以设置图片。

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

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

关于ios - 如何在 swift 中实现 UICollectionView 的瀑布布局,根据获取的远程图像改变它们的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34868630/

相关文章:

ios - 确保 TextField 实际上包含文本

iOS用UICollectionView如何实现这种布局

ios - 如何在 iOS 9 上淡入/淡出导航栏?

javascript - 从 itunes connect 获取所有订阅组和产品 ID

ios - 扫描数组查找条件,返回索引以扫描所述索引处的 Array2 值

arrays - 将 C 字符数组转换为字符串

ios - 检测首次在 iOS 中安装 NOT NSUserDefaults

ios - 对这种响应长时间运行的异步网络调用的 iOS 方法有任何顾虑吗?

ios - 具有不同数量图像的动态 UITableView

ios - 从 UICollectionViewController 制作一个 Popup ViewController