相关疑难解决方法(0)

UIViewContentModeScaleAspectFill不剪切

我正在尝试使用固定大小(100x100)绘制一些缩略图UIImageView.我已将图像视图的帧大小设置为100x100,并将其设置contentModeUIViewContentModeScaleAspectFill.

我的理解是,这应该导致图像以我设置的尺寸绘制,并且图像将填充图像的区域,并剪切图像的任何超出我为图像视图设置的尺寸的部分.但是,图像仍然比我为其设置的100x100尺寸更大或更小.

如果我设置contentModeUIviewContentModeScaleToFill,那么图像将以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,它们的尺寸正确,但图像失真.

截图说明问题

uiimageview ios

144
推荐指数
2
解决办法
5万
查看次数

标签 统计

ios ×1

uiimageview ×1