Ios 更改cellForRowAtIndexPath中的NSLayoutConstraint常量会持续导致;“无法满足约束条件”;错误

Ios 更改cellForRowAtIndexPath中的NSLayoutConstraint常量会持续导致;“无法满足约束条件”;错误,ios,objective-c,uitableview,nslayoutconstraint,Ios,Objective C,Uitableview,Nslayoutconstraint,我的应用程序中有很多这样的单元格。有些是自行调整尺寸,有些则不是 例如,假设我们有一个自定义UITableViewCell。100高。在它的内容视图中,我们拖动2个UIView。UIViewTop和UIViewBottom。每个都有50英尺高。UIViewTop我们将其放置在内容视图的顶部,并为其提供前导/尾随/顶部/高度约束。UIViewBottom我们将其放置在内容视图的底部,并为其提供前导/尾随/底部/高度约束。我们还提供了UIViewTop和UIViewBottom之间的垂直间距约束 现

我的应用程序中有很多这样的单元格。有些是自行调整尺寸,有些则不是

例如,假设我们有一个自定义UITableViewCell。100高。在它的内容视图中,我们拖动2个UIView。UIViewTop和UIViewBottom。每个都有50英尺高。UIViewTop我们将其放置在内容视图的顶部,并为其提供前导/尾随/顶部/高度约束。UIViewBottom我们将其放置在内容视图的底部,并为其提供前导/尾随/底部/高度约束。我们还提供了UIViewTop和UIViewBottom之间的垂直间距约束

现在,有时我们只希望显示UIViewTop,而有时我们希望显示UIViewTop和UIViewBottom。因此,我们将UIViewBottomHeight约束作为IBMOutlet NSLayoutConstraint拖出

然后,在CellForRowatineXpath中。。。我们将这个IBOutlet约束设置为0或50,这取决于我们是否要显示该部分

如果我们有自调整大小的细胞,我们什么也不做。如果没有自调整大小的单元格,则单元格的大小将在heightForRowAtIndexPath中精确确定

在这两种情况下我都会得到警告。在调试器中,它将在以下代码之后立即发生

`cell.constraintUIViewBottomHeight.constant = __`

我希望能够更改约束常量,但不会在控制台中收到
无法同时满足约束的警告。

这听起来像是出现了问题,因为在底部的UIView上既有高度约束又有底部到容器的约束。如果更改高度,则“底部到容器”约束将禁用。您应该能够仅使用高度(或仅使用底部到容器)并完全摆脱底部到容器约束(或高度约束)。自动布局只需要足够的约束来确定元素的唯一大小和位置。

我猜约束的优先级需要IViewBottomHeight约束/1000。。我会尝试将优先级降低到999或其他什么来消除警告

为我工作时,我也有同样的问题,当我这样做时,问题就消失了。