0

我在从 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;
4

2 回答 2

0

我终于解决了这个问题。我点击了MainStoryboard.storyboard并稍微摆弄了一下。当我取消选中Resize View From NIB ... vuola ... 图像尺寸完美:D

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

于 2012-09-05T11:49:48.187 回答
0

如果您有不同尺寸的图像,那么您需要查看比例而不是尺寸的概念。您在初始化时调整图像的比例,看看这里。然后,当您将图像设置为 imageView 调用[imageView sizeToFit]以使其完全适合图像大小时。

希望这可以帮助。

于 2012-09-04T16:12:44.283 回答