1

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

为简单起见,假设我有一个 uiTableViewCell,其内容视图仅包含 UIImageView。UIImageView 被限制为保持一定的纵横比,并固定在单元格内容视图的左侧、右侧和顶部。我希望我的内容视图的高度由 UIImage 视图的高度驱动。

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

4

1 回答 1

0

我知道这有点晚了,但我只是看到了这个,希望它可以帮助遇到类似问题的人。

这是因为您正在对左右边缘应用约束,并且正在设置纵横比约束。完成后,图像视图的高度是根据宽度设置的,因为图像视图被固定在两侧,所以剩余的宽度不能改变,同时纵横比的约束也会发挥作用。

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

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

于 2016-01-25T07:08:24.343 回答