如何使用UIImageView调整图片大小以便我可以放大和缩小?

时间:2010-07-26 21:19:07

标签: iphone uiscrollview uiimageview uiimage

在我看来,我有一张照片..图片的比例为3:2,分辨率很高。

我在将图像初始化为原始大小的UIImage时遇到了很多麻烦,然后缩小UIImageView,以便整个图像在滚动视图中可见。

程序仅保留纵向。

不,请不要只使用UIWebView。 UIWebView不允许我在视图加载期间设置内容大小...相反,它只是按照任意比例缩小图像,我无法找到调整比例值的方法(我不认为它是可能的)。

感谢您的回复!我真的很感激他们:D

3 个答案:

答案 0 :(得分:10)

以下是放置响应缩放的图像的示例。基本上,您将UIImageView放在UIScrollView中并更改一些设置。

UIImageView *myImage;
UIScrollView *myScroll;

-(void)viewDidLoad{

  myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,360,450)];
  [myImage setImage:[UIImage imageNamed:@"coolpic.png"]];
  myImage.contentMode = UIViewContentModeScaleAspectFit;
  [myScroll addSubview:myImage];
  [myScroll setContentSize:CGSizeMake(myImage.frame.size.width, myImage.frame.size.height)];
  [myScroll setMinimumZoomScale:1.0];
  [myScroll setMaximumZoomScale:4.0];
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return myImage;
}

当然,正确设置所有代理和IB挂钩。

编辑:我刚刚重读了您的问题。回答问题的示例部分是UIImageView的框架规范及其contentMode设置。

答案 1 :(得分:1)

您几乎肯定不想在加载时同时加载“巨大的,分辨率明智”的图像,无论其规模如何。我建议查看Apple的一些示例代码(从ScrollViewSuite开始会很好,我会说)。

最近还有一个视频从WWDC发布,他们实现了这类活动(他们有更多的照片查看应用程序,但你可以很容易地做他们只用一个图像显示的东西)所以请看看那也是。

答案 2 :(得分:1)

转到UIImageView的属性选项卡。选择“填充方面”或“适合方面”。如果使用“纵横填充”,则可能无法显示整个图像。我只是使用“方面适合”,并使背景变黑。