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

Dom*_*ard 5 uiimageview ios swift

UITableViewCell只包含一个UIImageView限制在所有四个边上的超视图的单元,以便单元格缩放以适合整个图像.

UIImageView被设置为缩放方面适合,使得放大图调整大小以适合电池的宽度内.然而,在进行纵横比拟之后,UIImageView保持与缩放之前相同的尺寸,并且单元依次保持较大的未缩放图像的尺寸.

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

Vol*_*oka 3

我在将 UIImageView 嵌入 UIStackView 时遇到了类似的问题。我认为这是一个错误,因为当图像视图具有 Mode:AspectFit 时,未绑定的尺寸预计会调整为缩放图像而不是原始图像。

我的解决方法是:

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

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