gpt4 book ai didi

iphone - 如何在顶部设置图像以避免 UIimageView 中的空间

转载 作者:可可西里 更新时间:2023-11-01 05:46:14 26 4
gpt4 key购买 nike

我有一个内容模式 Aspect Fit 大小为 220x155 的 UIImageView。我正在动态插入不同分辨率的不同图像,但都大于 UIImageView 的大小。当内容模式设置为 Aspect Fit 时,图像会根据比例缩放以适合 UIImageView。

我的问题是,例如,如果 UIImageView 中的图像缩放到 220x100,我希望 UIImageView 的高度也从 155 缩小到 100,以避免我的元素之间出现空间。

我该怎么做?

最佳答案

我编写此方法是为了在加载图像后获取 ImageView 的框架。因此,对我的要求与您的情况相同:

1) 具有宽高比内容模式的 ImageView 2) 获取图像的确切帧(这样你就可以重新定位 ImageView )

希望对您有所帮助:

- (CGRect) getFrameOfImage:(AsyncImageView *) imgView
{
if(!imgView.loaded)
return CGRectZero;

CGSize imgSize = imgView.image.size;
CGSize frameSize = imgView.frame.size;

CGRect resultFrame;

if(imgSize.width < frameSize.width && imgSize.height < frameSize.height)
{
resultFrame.size = imgSize;
}
else
{
float widthRatio = imgSize.width / frameSize.width;
float heightRatio = imgSize.height / frameSize.height;

float maxRatio = MAX (widthRatio , heightRatio);
NSLog(@"widthRatio = %.2f , heightRatio = %.2f , maxRatio = %.2f" , widthRatio , heightRatio , maxRatio);

resultFrame.size = CGSizeMake(imgSize.width / maxRatio, imgSize.height / maxRatio);
}

resultFrame.origin = CGPointMake(imgView.center.x - resultFrame.size.width/2 , imgView.center.y - resultFrame.size.height/2);

return resultFrame;
}

我在这里使用的是 AsyncImageView,但它与 UIImageView 的效果一样好。重要的是要记住在加载图像后调用此方法。

干杯!

关于iphone - 如何在顶部设置图像以避免 UIimageView 中的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711133/

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