【发布时间】:2015-10-10 14:55:06
【问题描述】:
我的应用程序中有很多这样的单元格。有的自选尺寸,有的没有。
例如,假设我们有一个自定义 UITableViewCell。 100 高。在它的内容视图中,我们拖动 2 个 UIView。 UIViewTop 和 UIViewBottom。每个50高。 UIViewTop 我们放置在内容视图的顶部,并给它Leading/Trailing/Top/Height 约束。 UIViewBottom 我们放置在内容视图的底部,并给它Leading/Trailing/Bottom/Height 约束。我们还给出了 UIViewTop 和 UIViewBottom 之间的垂直间距约束。
现在,有时我们只希望显示 UIViewTop,而有时我们希望显示 UIViewTop 和 UIViewBottom。所以我们拖出 UIViewBottomHeight 约束作为 IBOutlet NSLayoutConstraint。
然后,在 cellForRowAtIndexPath... 中,我们将此 IBOutlet 约束设置为 0 或 50,具体取决于我们是否要显示该部分。
如果我们有自调整大小的单元格,我们什么也不做。如果我们没有自我调整大小的单元格,则单元格的大小在 heightForRowAtIndexPath 中准确确定。
在这两种情况下我都会收到警告。在调试器中,它会在下面的代码之后立即发生...
`cell.constraintUIViewBottomHeight.constant = __`
我希望能够更改约束常量,但不会在控制台中收到Unable to simultaneously satisfy constraints 警告。
【问题讨论】:
标签: ios objective-c uitableview nslayoutconstraint