我和我一起在循环中从哪里获取单元格的大小在集合视图中,以防我有一个具有自动布局的单元格
我知道sizeForItemAtIndexPath
应该从数据而不是从单元格本身获得大小,因为单元格尚未绘制,但在自动布局中,我无法通过查看数据来计算,除非我以一种我以后可以从中计算出来的方式编写约束代码(似乎是歪曲的)
另一方面,UIView确实有intrinsicContentSize
和systemLayoutSizeFittingSize
,它给出了已经绘制或将要绘制的视图的大小。
但是在sizeForItemAtIndexPath中我还没有视图,数据只是数据。
细胞笔尖看起来像这样
我应该以什么方式获得自定义单元格的大小(来自.nib)?
我可以在技术上对图像和图标的代码大小进行硬编码,但这感觉不对。询问视图在一个函数中它的大小应该告诉控制器它的大小
也是错误的答案 0 :(得分:2)
您可以使用配置的屏幕外原型单元格,然后使用它确定其大小。
这是UITableView pre iOS8确定单元格高度的常用方法。相同的方法应该适用于UICollectionView。
请在此处查看已接受的答案:Using Auto Layout in UITableView for dynamic cell layouts & variable row heights