【发布时间】:2015-11-26 12:06:42
【问题描述】:
我试图在最初显示单元格后加载的UICollectionViewCell 中显示UIImageView。
为了不显示白色,我使用了备用图片。这与稍后显示的图像具有不同的大小。
因此,sizeForItemAtIndexPath 在显示较大的备用图片时调用,并返回对于最终加载的图片来说太大的尺寸。
我已经实现了一个委托来在图像完成加载后调用一个方法。然后委托方法在UICollectionView 上调用reloadItemsAtIndexPaths,并使用完成加载的单元格的indexPath。仅当单元格的计算 height 现在与之前计算的值不同时,才会发生这种情况。初始加载后,图像也会存储在缓存中。这一起确保了reloadItemsAtIndexPaths 方法只被调用一次。
虽然这通常有效,但我不确定这是否是最佳做法。它也没有最好的性能,而且网络速度慢,我的布局看起来不太好。
有没有人遇到过同样的问题或试图动态调整UICollectionView 中的单个单元格的大小?
【问题讨论】:
标签: ios swift autolayout uicollectionview uicollectionviewcell