我正在尝试使用固定大小(100x100)绘制一些缩略图UIImageView.我已将图像视图的帧大小设置为100x100,并将其设置contentMode为UIViewContentModeScaleAspectFill.
我的理解是,这应该导致图像以我设置的尺寸绘制,并且图像将填充图像的区域,并剪切图像的任何超出我为图像视图设置的尺寸的部分.但是,图像仍然比我为其设置的100x100尺寸更大或更小.
如果我设置contentMode为UIviewContentModeScaleToFill,那么图像将以100x100的精确度绘制,但它会扭曲以适应这些尺寸.任何想法为什么方面填充不按预期剪切?
这是我的代码:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
Run Code Online (Sandbox Code Playgroud)
为了更好地说明,这是我所看到的截图.绿色方块UIView包含UIImageView我正在使用的内容.我将它们的背景颜色设置为绿色,并将视图的帧设置为100x100.作为测试,UIImageViews尺寸为50x50.如您所见,使用时...AspectFill,图像的大小不会达到50x50,在某些情况下会偏离我喜欢的位置.使用时...ScaleToFill,它们的尺寸正确,但图像失真.
