替换UICollectionView中的子视图,而不是更改子视图属性

时间:2017-11-27 22:02:43

标签: ios swift uicollectionview uicollectionviewcell

我正在尝试实现UICollectionViewCell的子类。

我正在获取一系列自定义视图,让我们称之为views从一个对象传递到另一个对象,同时使用一个名为views的数组。它们的类型为CustomView

UICollectionViewCell子类有一个名为view的{​​{1}}类型的属性。

CustomView中,我正在尝试从CellForItemAt...数组中设置单元格的view属性,如下所示:

CustomViews

但是,当我这样做时,细胞显示不正确;它们是空的,只是屏幕上的灰色形状。

但是,当我明确设置单元格的let customView = array[indexPath.row] cell.view = customView 子视图的属性时,它会显示我喜欢它的方式。

有没有办法在单元格上进行布局传递?或者您是否只需要在UICollectionViewCells中显式设置属性,而不是仅仅传入预先配置的视图?

代码是专有的,所以我必须神秘,但如果我能澄清,请告诉我

编辑:请参阅接受的答案中的评论以获得进一步说明

1 个答案:

答案 0 :(得分:0)

您应该添加约束,否则您将获得默认的自动调整大小掩码约束。调用cell.setNeedsLayout()以强制自动布局在您协助voew之后的下一次抽奖之前重新计算。