Ios 在UICollectionViewCell上设置约束的问题

Ios 在UICollectionViewCell上设置约束的问题,ios,swift,cocoa,autolayout,constraints,Ios,Swift,Cocoa,Autolayout,Constraints,我创建了一个UICollectionViewCell.xib,我只想在其中添加一个标签和一些简单的约束,例如: 然而,这样做会把一切都搞砸。无论我在UICollectionViewDelegateFlowLayout上选择的大小,单元格都将始终使用标签的大小!我做错了什么?我是否不应该对CollectionViewItems使用约束,而应该将translatesMaskIntoConstraints=true? 谢谢 编辑:以下是我的预期: 下面是我在添加约束条件后实际得到的: 编辑2:修正

我创建了一个UICollectionViewCell.xib,我只想在其中添加一个标签和一些简单的约束,例如:

然而,这样做会把一切都搞砸。无论我在UICollectionViewDelegateFlowLayout上选择的大小,单元格都将始终使用标签的大小!我做错了什么?我是否不应该对CollectionViewItems使用约束,而应该将translatesMaskIntoConstraints=true? 谢谢

编辑:以下是我的预期:

下面是我在添加约束条件后实际得到的:


编辑2:修正了!例如,将标签的内容包含优先级更改为10或更低。但是…如果视图中没有其他约束,为什么要这样做呢?如果有人能回答这个问题,我将非常感激,因为我可以回答这个问题并给出这个解决方案,但我无法解释为什么它能解决这个问题,所以这不是一个正确的答案。

你有两种方法:你可以委托一个单元格来计算自己的高度,或者你可以为高度设置固定的大小

如果您想要第一个案例,请阅读其他案例


如果你想要固定的尺寸,你应该在标签上做一个固定的高度。Label正在根据contentSize计算自己的大小,因此在固定单元格大小的问题上,您的约束失败

请共享预期结果和当前结果,以便更好地理解。您好。谢谢你的回答。虽然,我不确定你是否完全理解我的问题。请检查一下更新的问题好吗?谢谢@Mykod你好!拥抱是有效的,因为这样你的细胞大小在大小上更优先。查看问题的本质:UILabel根据内容有自己的大小,因此由于其大小和边缘偏移,它试图调整单元格的大小。您可以做的是:不通过前导/尾随/底部/顶部对齐,而是将其约束到单元格的中心