我在Interface Builder中构建我的视图,我正在使用AutoLayout约束。每当我创建一个表视图单元格时,我都会使用自动尺寸,以便正确计算单元格的高度。
问题是接口构建器中的单元框架本身没有更新(我的意思是整个视图的单元格)
看看这个例子:我创建了一个带有标签的单元格,所有垂直约束都已设置,它们是静态的。顶部,底部,高度 - > 20 + 20 + 30 = 70点
这很好,IB中没有错误,单元格正在工作。但是当我在IB中修改单元格大小时会出现问题:
并且出现错误导致整个视图不能正常运行。我不想改变任何约束,但我希望整个视图从框架缩小到框架高度为70点的第一张照片上显示的框架。
当我更改一些约束并且需要手动更新帧时,这是更大和更复杂视图的问题。
我现在做什么来摆脱这些错误是将最后一个底部约束的优先级更改为999,这是有效的,但我真的希望让IB尽可能接近在运行时计算的视图显示此视图。
(我知道那里有'更新帧'按钮,但这确实可以正确地改变子视图帧,但我想要超级视图,也要更新)
是不是有任何插件或东西可以帮助我构建看起来像运行时的视图?
在设置硬编码约束后尝试缩小视图时会发生此问题,因此cesl'height不满足当前约束,因此您会看到红线。
解决方法是:每次要更改单元格内的任何约束时,删除最底部约束,进行更改,通过拖动自行调整单元格大小,然后再次将其重新连接到内容视图的底部。