【发布时间】:2018-01-14 17:45:12
【问题描述】:
我目前正在使用UICollectionView 和UICollectionViewFlowLayout 以及以下UICollectionViewCell:
但是,最近出现了一个错误,该错误会锁定 UI,并且在检查后控制台不断向控制台吐出以下内容。
在 UICollectionViewFlowLayoutBreakForInvalidSizes 在 调试器。未定义 UICollectionViewFlowLayout 的行为 因为:项目宽度必须小于 UICollectionView 减去部分插入左右值,减去 内容插入左右值。
现在错误很简单,单元格本身的长度大于集合视图的长度。原因是在异常值出现时,有一段数据非常长,导致单元格超出集合视图的范围。
在单元格本身上,我的线条大小为 1,并且尾部被截断。我的假设是自动布局会以这样一种方式处理这个问题,如果单元格大于集合视图宽度,它只会使用单元格上集合视图的宽度并截断标签中的文本。但是,自动布局不会这样做,并且在控制台中会重复产生上述错误。
所以现在的问题是处理这种极端情况的最佳/正确方法是什么?
- 有没有我遗漏的小东西?
- 在这种情况下,我将不得不“调整”流布局,因此是否建议对流布局进行子类化,覆盖
layoutAttributesForElementsInRect:,然后在单元格大小框架/大小大于UICollectionView?这条路线似乎过分杀死错误?
【问题讨论】:
标签: ios uicollectionviewcell uicollectionviewlayout