ios - 替换 UICollectionView 中的 subview ,而不是更改 subview 属性

标签 ios swift uicollectionview uicollectionviewcell

我正在尝试实现 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/

相关文章:

ios - 如何确定 CallKit 通话目录应用扩展限制?

ios - 带计算器文本的 UIPickerView

swift - 为什么过滤器(_ :)’s predicate get called so many times when evaluating it lazily?

ios - 自动布局警告 : Will attempt to recover by breaking constraint <NSLayoutConstraint in CollectionView

ios - 使用 Swift 复制静态变量

objective-c - NSMutableString 和(字符)编码问题 : getting\U00fc in case of ü

c++ - 库无法链接特定体系结构的可能原因?

ios - 通过发件人将 indexPath.row 从 didselectRowAtIndexPath 发送到 prepareForSegue

json - Swift Alamofire 发布请求不起作用,

ios - 如何将文本字段嵌入到 UI Collection View 单元格中并将文本存储到数组中?