如何在UIView中正确设置ImageView的ContentMode?

时间:2018-04-14 20:37:02

标签: ios swift uiimageview

我正在尝试将contentMode的{​​{1}}设置为UIImageView,该.top包含在UIView中,但它未正确设置或已用完UIView的边界。

这就是我的单元格的样子,其中红色是容器UIView,其约束为UIImageView

仅供参考:UIImageView是方形尺寸,因为它将应用圆角。

我试图做的事情和结果:

1

thumbnail.contentMode = .top
thumbnail.clipsToBounds = true
thumbnail.sizeToFit()

2

thumbnail.contentMode = .top
thumbnail.clipsToBounds = true

还尝试添加:

thumbnailContainer.clipsToBounds = true
thumbnailContainer.sizeToFit()

我正在尝试实现是第一个屏幕截图的结果,其中UIImageView包含在其容器视图中,如第二个屏幕截图所示。

更新 基于评论和答案,我相信有些人对我正在尝试做什么感到困惑,所以我附上了我期望的结果的另一个屏幕截图:

如您所见,我希望contentMode的{​​{1}}为UIImageView,以便显示图片的中上部。您可以清楚地看到第3个屏幕截图中的.top({1}}与第4个屏幕截图中的contentMode之间的差异,即.scaleAspectFit,因为它显示的是contentMode图像的中上部。

,我希望.top保持其原始尺寸,如UIImageViewcontentMode的第3个屏幕截图所示,而不是水平和垂直伸展,如第二张截图所示。

我希望这能澄清我想要实现的目标。

1 个答案:

答案 0 :(得分:0)

要获得所需的结果,您需要将内容模式设置为.aspectFit,以便该图像将以UIImageView的大小调整自身大小,保持其原始高宽比。