我的UITableViewCell
只包含一个UIImageView
,它被限制在所有四边的超视图上,以便细胞可以缩放以适合整个图像。
将UIImageView
设置为“缩放纵横比”,以便调整大图像的大小以适应单元格的宽度。但是,在进行宽高比调整后,UIImageView
保持与缩放前相同的大小,然后单元格将保留较大的未缩放图像的大小。
在通过Fit属性缩小图像时,Interface Builder中是否有任何方法可以强制UIImageView
的高度缩小?或者,同样地,有没有办法以编程方式告诉UIImageView
调整其高度以匹配新缩放的UIImage
高度?
答案 0 :(得分:3)
我在将UIImageView嵌入UIStackView时遇到了类似的问题。我认为这是一个错误,因为当图像视图具有模式:AspectFit时,未绑定的维度应该调整为缩放图像而不是原始图像。
我的解决方法是:
将约束重置为计算出的高度,例如:
imgView.image = picture;
for c in imgView.constraints {
if c.identifier == "constraintImageHeight" {
c.constant = picture.size.height
* imgView.bounds.width / picture.size.width;
break;
}
}