我在UIImageView
中有一个UITableViewCell
。单元格高度基于UILabel
中使用估计的行高的文本行数而变化。我希望此图像在单元格中垂直居中,具有固定的宽度,且高度> = 40和<= 80。随着像元高度的增加,我希望图像增加到最大高度,然后停止,始终保持垂直居中。为此,我添加了这两个高度约束和宽度约束,再加上单元格顶部和底部的约束,其中一些填充的常数为5,优先级为250。向图像视图中添加背景色正在按预期方式进行布局。但是,当我在图像视图上设置图像时,高度发生了意外变化。
标签中有3行:
标签中有6行:
为什么?我如何确保图像视图中的图像不影响图像视图大小,因为我希望由自动布局约束确定的像元高度来确定它?]
虽然使用这些自动布局约束无法获得期望的图像视图高度,但我确实通过使用单个高度约束并在计算出的constant
的layoutSubviews
中手动设置了UITableViewCell
来达到了目标。为min(contentView.bounds.height - 5 * 2, 80)
。然后在Superview中添加CenterY约束以使其垂直居中。现在,将图像添加到图像视图不会意外更改图像视图的高度。