我有带自定义单元格的 Storyboard,我的自定义单元格有 3 个 View ,但其中一个 View 导致问题,UILabel
支持 2 行。我使用 W:Any-H:Any
并为这样的标签创建一个约束(现在,为了消除所有问题 - 我将它连接到 super View ,而不是最近的 View ,但错误仍然存在发生):
- 将 Space 引入 Superview
- SuperView 的尾随空格
- Superview 的顶部空间
所以看起来像这样:
如果我从这个 View 中删除约束,我不会收到错误,所以错误一定是由此产生的。
然后我得到约束错误:
(
"<NSLayoutConstraint:0x7fe1d3df4e80 UILabel:0x7fe1d3df7730'Autos, Roller, Fahrr\U00e4der,...'.trailing == UIView:0x7fe1d7a33140.trailingMargin>",
"<NSLayoutConstraint:0x7fe1d3df4ed0 H:|-(70)-[UILabel:0x7fe1d3df7730'Autos, Roller, Fahrr\U00e4der,...'] (Names: '|':UIView:0x7fe1d7a33140 )>",
"<NSAutoresizingMaskLayoutConstraint:0x7fe1d3dbb1c0 h=--& v=--& H:[UIView:0x7fe1d7a33140(50)]>"
)
问题是什么以及如何解决?
最佳答案
将 Trailing Space 的优先级更改为 999 是一个简单的解决方法,但我无法解释它是如何解决这个问题的。
似乎 Trailing Space(错误中的第一个约束)约束与从 contentView 的自动调整掩码(第三个约束)转换而来的约束冲突,此解决方法解决了它。
关于ios - CollectionViewCell、自定义单元格、多行自动布局约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28042309/