具有动态行高的UITableView显示自动布局约束错误

时间:2019-04-23 13:47:26

标签: ios uitableview autolayout

我正在创建一个表格视图,其中的单元格的高度由“自动布局”决定。

表格视图单元格只有一个子视图-UIImageView固定在表格视图单元格的4侧。 图像视图具有限制以保持4:3的宽高比。

下图显示了视图层次结构和约束。 image showing view hierarchy and constraints

如以下屏幕截图所示,表格视图的行的高度设置为自动。 enter image description here

运行该应用程序时,表视图单元格看起来像预期的那样,但是在日志中显示了以下“自动布局”约束错误

(
    "<NSLayoutConstraint:0x600001d804b0 AppName.NeverClearImageView:0x7f938ce140f0.width == 1.33333*AppName.NeverClearImageView:0x7f938ce140f0.height   (active)>",
    "<NSLayoutConstraint:0x600001d80460 AppName.NeverClearImageView:0x7f938ce140f0.bottom == UITableViewCellContentView:0x7f938ce04790.bottom   (active)>",
    "<NSLayoutConstraint:0x600001d80410 H:[AppName.NeverClearImageView:0x7f938ce140f0]-(0)-|   (active, names: '|':UITableViewCellContentView:0x7f938ce04790 )>",
    "<NSLayoutConstraint:0x600001d82a80 H:|-(0)-[AppName.NeverClearImageView:0x7f938ce140f0]   (active, names: '|':UITableViewCellContentView:0x7f938ce04790 )>",
    "<NSLayoutConstraint:0x600001d82bc0 V:|-(0)-[AppName.NeverClearImageView:0x7f938ce140f0]   (active, names: '|':UITableViewCellContentView:0x7f938ce04790 )>",
    "<NSLayoutConstraint:0x600001dbb930 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7f938ce04790.height == 125.5   (active)>",
    "<NSLayoutConstraint:0x600001db8dc0 'UIView-Encapsulated-Layout-Width' UITableViewCellContentView:0x7f938ce04790.width == 256   (active)>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x600001d804b0 AppName.NeverClearImageView:0x7f938ce140f0.width == 1.33333*AppName.NeverClearImageView:0x7f938ce140f0.height   (active)>

表格视图单元格看起来像预期的那样。谁能指出如何解决此错误?

注意-我观察到如果将宽高比的优先级设置为999而不是1000,则不会显示上述错误。有人可以指出为什么这可以解决问题吗?

0 个答案:

没有答案