我正在尝试使用绘制一些固定大小(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;
为了更好地说明,这是我所看到的屏幕截图。绿色方形的UIView
含有UIImageView
我的工作。我将其背景色设置为绿色,并将视图的框设置为100x100。作为测试,UIImageViews
尺寸为50x50。如您所见,当使用时...AspectFill
,图片的尺寸不会调整为50x50,在某些情况下会偏离我想要的位置。使用时...ScaleToFill
,它们的尺寸正确,但是图像失真。