我在调整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;
答案 0 :(得分:0)
如果你有不同尺寸的图像,那么你需要看一下尺度而不是尺寸的概念。您在初始化图像时调整图像的比例have a look here。然后,当您将图像设置为imageView调用[imageView sizeToFit]
时,使其与图像大小完全匹配。
希望这会有所帮助。
答案 1 :(得分:0)
我终于解决了这个问题。我点击 MainStoryboard.storyboard ,我稍微摆弄了它。当我取消选中从NIB调整视图 ... vuola ...图像是完美尺寸:D
(单击storyboard中的视图控制器 - &gt;属性检查器 - &gt;视图控制器 - &gt;布局 - &gt;从NIB调整视图大小)