我正在尝试实现 UICollectionViewCell 的子类。
我得到了一组自定义 View ,我们称之为从一个对象传递到另一个对象的views
,还有一个名为views
的数组。它们的类型为 CustomView
。
UICollectionViewCell 子类有一个名为 view
的属性,其类型为 CustomView
。
在 CellForItemAt...
中,我尝试从 CustomViews
数组设置单元格的 view
属性,如下所示:
let customView = array[indexPath.row]
cell.view = customView
但是,当我这样做时,单元格无法正确显示;它们是空的,屏幕上只有灰色的形状。
但是,当我显式设置单元格的 CustomView
subview 的属性时,它会显示我想要的方式。
有没有办法在单元格上进行布局传递?或者您是否必须在 UICollectionViewCells 中显式设置属性,而不是仅传递预配置的 View ?
代码是专有的,所以我必须保密,但如果我可以澄清,请告诉我
编辑:请参阅已接受答案中的评论以获取进一步说明
最佳答案
您应该添加约束,否则您将获得默认的自动调整大小蒙版约束。调用cell.setNeedsLayout()在您提交 voew 后强制自动布局在下一次绘制之前重新计算。
关于ios - 替换 UICollectionView 中的 subview ,而不是更改 subview 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47520587/