在UICollectionViewFlowLayout之后重绘单元格使其布局无效

时间:2013-03-12 15:09:37

标签: ios uicollectionview uicollectionviewlayout

UICollectionViewFlowLayout上的布局无效时,它会为每个单元格创建一堆新的布局属性;但它不会告诉您的单元格重绘,这会导致任何图层图形失真。

我不想告诉我的集合重新加载它的数据,因为这会删除流属性之间的任何漂亮过渡:例如,我将网格布局转换为封面流。

我需要一种方法让UICollectionViewController类告诉单元格在给出布局属性后调用它们的[setNeedsDisplay]方法。

1 个答案:

答案 0 :(得分:4)

当你的细胞改变大小时,它取决于它们如何处理(拉伸与重绘)。这由UIView contentMode属性控制;尝试将其设置为UIViewContentModeRedraw,以便调整大小以使您的观看内容无效,例如setNeedsDisplay:

如果您直接将CALayers用作细胞的子图层,则可以将needsDisplayOnBoundsChange设置为YES以获得相同的效果。