gpt4 book ai didi

ios - UIViewContentModeScaleAspectFill 不剪裁

转载 作者:IT王子 更新时间:2023-10-29 07:27:01 24 4
gpt4 key购买 nike

我正在尝试使用 UIImageView 以固定大小 (100x100) 绘制一些缩略图。我已将 ImageView 的帧大小设置为 100x100,并将 contentMode 设置为 UIViewContentModeScaleAspectFill

我的理解是,这应该会导致以我设置的尺寸绘制图像,并且图像将填充图像区域,并剪裁 ImageView 中超出我设置尺寸的任何部分.但是,图像绘制时仍然大于或小于我为其设置的 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;

为了更好地说明,这是我所看到的屏幕截图。绿色方 block 是包含我正在使用的 UIImageViewUIView。我已将它们的背景颜色设置为绿色,并将 View 的框架设置为 100x100。作为测试,UIImageViews 的大小为 50x50。如您所见,在使用 ...AspectFill 时,图像的大小不是 50x50,并且在某些情况下会偏离我想要的位置。使用 ...ScaleToFill 时,它们的大小正确,但图像失真。

Screenshot illustrating problem

最佳答案

你能尝试将剪辑设置为边界吗

[_photoview setClipsToBounds:YES];

或者如果可以的话,直接在你的 Storyboard/Xib 中:

enter image description here

关于ios - UIViewContentModeScaleAspectFill 不剪裁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6638623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com