在缩放Aspect Aspect之后调整UIImageView的大小

时间:2015-07-12 16:16:11

标签: ios swift uiimageview

我的UITableViewCell只包含一个UIImageView,它被限制在所有四边的超视图上,以便细胞可以缩放以适合整个图像。

UIImageView设置为“缩放纵横比”,以便调整大图像的大小以适应单元格的宽度。但是,在进行宽高比调整后,UIImageView保持与缩放前相同的大小,然后单元格将保留较大的未缩放图像的大小。

在通过Fit属性缩小图像时,Interface Builder中是否有任何方法可以强制UIImageView的高度缩小?或者,同样地,有没有办法以编程方式告诉UIImageView调整其高度以匹配新缩放的UIImage高度?

1 个答案:

答案 0 :(得分:3)

我在将UIImageView嵌入UIStackView时遇到了类似的问题。我认为这是一个错误,因为当图像视图具有模式:AspectFit时,未绑定的维度应该调整为缩放图像而不是原始图像。

我的解决方法是:

  1. 创建了具有图像视图标识符的高度约束,例如, “constraintImageHeight”
  2. 将新图像放入视图后,代码中的
  3. 将约束重置为计算出的高度,例如:

    imgView.image = picture; for c in imgView.constraints { if c.identifier == "constraintImageHeight" { c.constant = picture.size.height * imgView.bounds.width / picture.size.width; break; } }