我使用的API允许我指定我获取的图像的尺寸。为了最大限度地提高网络效率,我尝试使请求的维度与集合视图单元格中图像视图的维度完全匹配。
这里的问题是,为了在API请求中指定正确的尺寸,我需要首先知道图像视图框的尺寸。但是 - 在API请求完成后,没有单元格被加载到视图中。一只经典的鸡肉和鸡蛋的煎熬。
问题是如何从尚未加载任何单元格的UICollectionView获取UICollectionViewCell内的UIImageView的维度。有意义吗?
我的第一个也是唯一一个失败的希望如下:
let cell = self.topSellersCollectionView.visibleCells.first as! HomeProductsCell
我在想,可能会快速加载一个"空模板"最初即使尚未设置数据也是单元格。显然情况并非如此。
有任何帮助吗?感谢。
答案 0 :(得分:1)
您可以通过
了解imageView的框架override func viewDidLayoutSubviews()
{
super.viewDidLayoutSubviews()
self.collectionView.frame.size.width // Also subtract cell spacing to get correct dimension
}