【问题标题】:IOS Scroll View Default Scale Image SizeIOS滚动视图默认缩放图像大小
【发布时间】:2014-04-14 09:19:11
【问题描述】:
我有一个包含图像的scrollview,它能够缩放图像。我希望默认缩放大小包含我附加到它的任何图像的整个图像。我不知道该怎么做。
这是我目前拥有的代码:
UIImage *image = [UIImage imageNamed:@"cat.jpg"];
self.imageView = [UIImageView new];
self.imageView.image = image;
[self.imageView sizeToFit];
self.scroll = [[UIScrollView alloc] initWithFrame:self.view.bounds];
self.scroll.contentSize = image.size;
self.scroll.delegate = self;
self.scroll.minimumZoomScale = 0.2;
self.scroll.maximumZoomScale = 1.0;
self.scroll.zoomScale = 0.2;
[self.scroll addSubview:self.imageView];
[self.view addSubview:self.scroll];
【问题讨论】:
标签:
ios
objective-c
uiscrollview
uiimageview
【解决方案1】:
所以听起来您希望图像“适合”滚动视图。我希望那是正确的。如果是这样,请尝试下面的代码。
UIImageView *tempImageView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Watson.jpg"]] autorelease];
tempImageView.frame = scrollView.bounds;
self.imageView = tempImageView;
scrollView.backgroundColor = [UIColor blackColor];
scrollView.minimumZoomScale = 1.0 ;
scrollView.maximumZoomScale = imageView.image.size.width / scrollView.frame.size.width;
scrollView.zoomScale = 1.0;
scrollView.delegate = self;
[scrollView addSubview:imageView];
该代码将使您的图像适合屏幕。所以启动时它不会被缩放。
【解决方案2】:
如果我对您的理解正确,您需要一种可以用来显示任何图像的方法。你需要这样的东西:
-(void)setImageOnScrollView:(UIImage*)image {
self.imageView.image = image;
[self.imageView sizeToFit];
self.scroll.contentSize = image.size;
self.scroll.delegate = self;
self.scroll.minimumZoomScale = 0.2;
self.scroll.maximumZoomScale = 1.0;
self.scroll.zoomScale = 0.2;
[self.scroll addSubview:self.imageView];
[self.view addSubview:self.scroll];
}
你可以这样调用这个方法:
self.scroll = [[UIScrollView alloc] initWithFrame:self.view.bounds];
UIImage *image = [UIImage imageNamed:@"cat.jpg"];
[self setImageOnScrollView:image];