【发布时间】:2012-11-24 15:04:01
【问题描述】:
我对使用 UIScrollView 的捏缩放功能感到满意。但问题是滚动视图中图像的宽高比。
目前,我有这个,下图:
但我希望图像适合如下图所示的屏幕:
景观的行为相同。我怎样才能做到这一点?
下面是代码:
- (void)viewDidLoad
{
UIImage *image = [UIImage imageWithData:appDelegate.selectedOriginalImage];
imgView.image = image;
CGSize imageSize = image.size;
CGRect rect = CGRectMake(0, 0, imageSize.width, imageSize.height);
imgView.frame = rect;
scrollView.contentSize = CGSizeMake(imgView.frame.size.width, imgView.frame.size.height);
scrollView.maximumZoomScale = 4.0;
scrollView.minimumZoomScale = 1.0;
scrollView.delegate = self;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
UIImage *image = [UIImage imageWithData:appDelegate.selectedOriginalImage];
CGSize imageSize = image.size;
CGRect rect = CGRectMake(0, 0, imageSize.width, imageSize.height);
imgView.frame = rect;
[scrollView setContentOffset:CGPointMake(0, 0)];
return YES;
}
【问题讨论】:
-
您的代码似乎将图像视图的大小设置为图像的本机大小。我认为,如果您定义了您希望图像视图的大小,并保持外观合适,您应该会得到您想要的效果。
标签: iphone objective-c uiscrollview uiimageview zooming