在单元格使用AutoLayout时设置UICollectionViewCell大小

我有一个dynamic高度的UICollectionViewCell 。 它包含一个UIWebViewasynchronous加载一些内容。 加载后,它需要调整自己的大小以适应其内容。

我通过更改web view的高度约束来进行单元格大小调整。

我也发送一个委托方法到单元格调整的集合view controller ,我需要使布局无效。

但是,我得到有关冲突约束的自动布局错误。 看来收集视图正在尝试调整单元格的大小。

有谁知道如何使这个devise工作?

集合视图的作用是由布局对象指定单元格的显式大小。 与表格视图类似,您不能真正从单元格向外进行布局。

为了实现你的devise,你需要使布局对象知道单元需要基于其内容的大小。 有几种方法可以做到这一点,但都不是很好。 可能在您的情况下,您需要将新的内容大小传回,同时使布局无效,并将该索引path的新大小以某种方式返回到布局。

我也不会改变你的网页视图的高度约束。 将其固定在单元格内容视图的边缘,并使其大小由布局对象发送的大小决定。 这样,你不会碰到约束。