在iOS5中更改图像大小

在iOS5中更改图像大小,ios5,uiscrollview,uiimageview,uiimage,Ios5,Uiscrollview,Uiimageview,Uiimage,我在从web服务调整图像大小时遇到问题(在下面的代码中,我试图将400*266降到300*200)。在详细视图控制器的viewDidLoad中,我添加了滚动视图和图像视图。然后我将图像添加到图像视图中,并更改图像视图帧的大小。结果是300*100图像。身高总是我想要的一半左右。但是,如果我在故事板中手动更改尺寸(对于不同的图像尺寸没有用处),它就像一个符咒。我错过了什么 @interface DetailVIewController () <UIScrollViewDelegate>

我在从web服务调整图像大小时遇到问题(在下面的代码中,我试图将400*266降到300*200)。在详细视图控制器的viewDidLoad中,我添加了滚动视图和图像视图。然后我将图像添加到图像视图中,并更改图像视图帧的大小。结果是300*100图像。身高总是我想要的一半左右。但是,如果我在故事板中手动更改尺寸(对于不同的图像尺寸没有用处),它就像一个符咒。我错过了什么

@interface DetailVIewController () <UIScrollViewDelegate>
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
....    

//adding image and resizing imageview's frame
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:someURL]]];
imageView.image = image;
self.imageView.frame = CGRectMake(10, 20, 300, 200);
....

//further down the code (if it's an issue):
CGSize size = {screenWidth, screenHeight};
self.scrollView.delegate = self;
self.scrollView.contentSize = size;
@接口详细信息视图控制器()
@属性(弱的、非原子的)IBUIScrollView*scrollView;
@属性(弱、非原子)IBUIImageView*imageView;
....    
//添加图像并调整imageview框架的大小
UIImage*image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:someURL]];
imageView.image=图像;
self.imageView.frame=CGRectMake(10,20,300,200);
....
//进一步了解代码(如果有问题):
CGSize size={screenWidth,screenHeight};
self.scrollView.delegate=self;
self.scrollView.contentSize=大小;

如果你有不同尺寸的图像,那么你需要从比例而不是尺寸的角度来看待。您可以在初始化图像时调整其比例。然后,当您将图像设置为imageView时,可以调用
[imageView sizeToFit]
使其与图像大小完全匹配


希望这有帮助。

我终于解决了这个问题。我点击了MainStoryboard.storyboard,然后稍微摆弄了一下。当我取消选中从NIB调整视图大小时。。。沃拉。。。图像大小完美:D


(单击故事板中的视图控制器->属性检查器->视图控制器->布局->从NIB调整视图大小)

奇怪…这也没有帮助。实际上,我为缩放输入的数字越大,我的图片就越接近平方:/i我尝试了以下方法:UIImage*originalImage=[UIImage-imageWithData:[NSData-dataWithContentsOfURL:[NSURL-URLWithString:someURL]];//缩放设置为2.0将使图像大小为1/2。UIImage*ScaleImage=[UIImage imageWithCGImage:[originalImage CGImage]比例:2.0方向:UIImageOrientationUp];即使我在代码中输入尺寸,图像似乎也并没有按照我的说明进行操作。还有其他想法吗?如果缩放到2.0,图像的大小会增加一倍。您需要缩放到0.5。可能还有其他建议将图像大小缩小到略小于屏幕宽度(300px)吗?实际上,它使图像大小减少了一半。尝试过。数字越大,图像越小。嗯。。。那太好了。您可以使用比例因子来获得所需的大小。。你还在调用self.imageView.frame=CGRectMake(10,20,300,200)?如果您使用的是
sizeToFit
,则需要将其删除。