NSLayoutConstraint由于内容大小自动约束,无法同时满足约束

时间:2016-05-22 13:08:50

标签: xcode nslayoutconstraint

我遇到了以编程方式更改高度约束的常量的问题。调试我的布局我已经发现不知何故有一个高度约束被自动创建,我猜这个约束导致了这个问题。

如何摆脱那些(content size)限制?

enter image description here

1 个答案:

答案 0 :(得分:1)

视图调试器中的那些内容大小限制用于表示视图的内在内容大小,并且可能有点误导。内在内容大小可以作为必需的约束,但只有在视图的内容拥抱和压缩阻力设置为具有所需优先级时才会这样做。在视图调试器中单击这些约束似乎总是显示它们具有所需的优先级(即1000),即使不一定是这种情况。

话虽如此,您可以使用Size Inspector在Interface Builder中调整这些内容大小约束的相对优先级。

enter image description here

您还可以使用setContentCompressionResistancePriority(_:forAxis:)实例的setContentHuggingPriority(_:forAxis:)UIView方法以编程方式对其进行调整。

您可以在Views with Intrinsic Content SizeAuto Layout Guide章节中阅读更多内容。