我有一个自定义的xib文件,并试图在表视图启动时加载图片。然而我得到了这个多约束的错误。我已经自动设置了tableviewcell的行高,而组成xib视图的三个视图之和加起来是408像素。鉴于错误说单元格的行高为408.333像素,我还尝试将行高设置为409,然而这并没有帮助。
这是一个常见的问题。尤其是 当使用 UIStackView
的表视图单元格中。
问题是,当自动布局在 "做自己的事情 "时,它必须要经过几次计算才能完成布局。
当它在一个(非固定高度)单元格中遇到一个堆栈视图时,它需要处理堆栈视图的排列子视图的各种高度、表的宽度和高度以及单元格的高度。此外,由于一个 观点 关于 @2x
缩放设备使用2个像素,而在 @3x
比例尺设备它使用3个像素,自动布局要分别在二分之一点和三分之一点左右操纵高度。
我想我会说,这并不奇怪。算来算去 自动排版会将错误警告信息打印到控制台。
设置 Priority
在堆栈视图的Bottom constraint上显示为 999
允许自动布局到,我想。暂且 打破约束,而不咳出警告。
那么......这是一个BUG吗?还是不可避免的?只有苹果公司知道。 :)