iOS Update Interface Builder视图框架基于约束

时间:2018-02-15 10:15:44

标签: ios autolayout interface-builder constraints

我正在Interface Builder中构建我的视图,而我正在使用AutoLayout约束。每当我创建一个表格视图单元格时,我都会使用自动尺寸,以便正确计算单元格的高度。

问题是界面构建器中的单元框架没有自行更新(我的意思是整个视图的单元格)

看一下这个例子: Photo 1 我创建了一个带标签的单元格,所有垂直约束都已设置,并且它们是静态的。顶部,底部,高度 - > 20 + 20 + 30 = 70分

这很好,IB中没有错误,单元格正常工作。但是当我在IB中修改单元格大小时会出现问题:

Photo 2 并且出现错误导致整个视图不能正常运行。我不想改变任何约束,但是我希望整个视图从第一张照片上显示的帧缩小到帧高度为70点的帧。

当我更改一些约束并且我需要手动更新帧时,这是更大和更复杂视图的问题。

我现在要做的是摆脱这些错误,将最后一个底部约束的优先级更改为999,这是有效的,但我真的希望让IB尽可能接近地显示此视图在运行时计算的视图。

(我知道有我们'更新框架'按钮,但这确实会正确地更改子视图框架,但我也喜欢超级视图,也要更新)

Aren是否有任何插件可以帮助我构建与运行时类似的视图?

1 个答案:

答案 0 :(得分:0)

当您尝试在设置硬编码约束后缩小视图以使cesl' height不满足当前约束时会发生此问题,因此您会看到红线。

解决方法是:每次要更改单元格内的任何约束时,删除最底部约束,进行更改,通过拖动自行调整单元格大小,然后再将其重新连接到内容视图的底部。 / p>