gpt4 book ai didi

iphone - 为 UIImageView 手动缩放 UIImage

转载 作者:行者123 更新时间:2023-12-01 19:20:14 26 4
gpt4 key购买 nike

手动复制的最佳方法是什么
contentMode = UIViewContentModeScaleAspectFit;
不使用它?

我需要缩放 UIImageView (在 ScrollView 内)以适应纵横比。我需要知道图像的新尺寸才能在其上绘制叠加层。

最佳答案

最近,我需要在 ImageView 中找到图像的框架,以在该图像上添加可触摸的 View ,我是这样做的:

-(void)calculateScaleAndContainerFrame{
if(!imageView || !image) return;

CGSize imageSize = image.size;
CGSize imageViewSize = imageView.frame.size;

float imageRatio = imageSize.width / imageSize.height;
float viewRatio = imageViewSize.width / imageViewSize.height;

if(imageRatio > viewRatio){
scale = imageSize.width / imageViewSize.width;
}else{
scale = imageSize.height / imageViewSize.height;
}

CGRect frame = CGRectZero;

frame.size = CGSizeMake(roundf(imageSize.width / scale), roundf(imageSize.height / scale));
frame.origin = CGPointMake((imageViewSize.width - frame.size.width) / 2.0, (imageViewSize.height - frame.size.height) / 2.0);

[container setFrame:frame];
}

我很确定您可以将其用作指南,将 imageViewSize 替换为 ScrollView (或要放入图像的 View )的内容大小。

注意 1:在我的情况下,我需要将 View 垂直居中,如果你不这样做,只需在我设置框架原点的行上将 y 设置为 0。如果您不想水平居中图像,则 x 也是如此。

注意 2:无论如何,这不是您可以插入项目并工作的代码,您可能必须阅读它,理解它,然后将该方法应用于您自己的项目。我现在没有时间根据您的需要对其进行修改。

注意 3:使用该代码,我设法在使用该内容模式的 ImageView 中完美地查看图像,因此它可以工作。

关于iphone - 为 UIImageView 手动缩放 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691191/

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