我正在try 用UIImageView
以固定大小(UIImageView
xUIImageView
)绘制一些缩略图.我已将图像视图的帧大小设置为UIImageView
xUIImageView
,并将contentMode
设置为UIViewContentModeScaleAspectFill
.
我的理解是,这将导致图像以我设置的大小绘制,图像将填充图像区域,并剪裁图像中超出我为图像视图设置的大小的任何部分.然而,图像仍然比我为其设置的100x100大小大或小.
如果我将contentMode
设置为UIviewContentModeScaleToFill
,那么图像将精确地绘制为contentMode
xcontentMode
,但它会被扭曲以适应这些尺寸.你知道为什么aspect fill没有按预期剪裁吗?
以下是我的代码:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
为了更好地说明这一点,这里有一个我看到的屏幕截图.绿色方块是包含我正在使用的UIImageView
的UIView
.我已经将它们的背景色设置为绿色,视图的边框设置为UIView
xUIView
.作为测试,UIImageViews
的尺寸为50x50.正如你所看到的,当使用...AspectFill
时,图像的大小不是50x50,在某些情况下会偏离我想要的位置.使用...ScaleToFill
时,尺寸正确,但图像失真.