设置约束以驱动UITableViewAutomaticDimension的UITableViewCell高度

时间:2014-12-18 23:14:31

标签: ios uitableview autolayout uitableviewautomaticdimension

我有一个自定义的tableViewCell,我正在尝试设置约束,以便我可以使用tableView.rowHeight = UITableViewAutomaticDimension。

为简单起见,我想说我有一个uiTableViewCell,其内容视图只包含UIImageView。 UIImageView被约束为保持一定的宽高比,并固定在单元格内容视图的左侧,右侧和顶部。我希望我的内容视图的高度由UIImage视图的高度驱动。

我一直试图通过将内容视图固定在UIIMage视图的底部来解决这个问题,但是我在运行时“无法满足所有约束”错误。设置它的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我知道这有点晚了,但我刚看到这一点,并希望它可以帮助有类似麻烦的人。

因为您正在对左右边缘应用约束,并且正在设置宽高比约束。完成后,图像视图的高度根据宽度设置,因为图像视图固定在两侧,因此剩余宽度不能改变,同时,宽高比限制将进入播放。

要解决此问题,可以做的是,向左或向右移除约束(仅保留一个),将图像视图固定到顶部和底部,并设置宽高比约束。这将使宽度调整为高度,内容视图的高度会正确更新。

如果此时,您收到警告"图像视图"的模糊x位置,设置宽度约束并将其优先级设置为小于1000的值(这是所有其他约束的优先级,我假设。)