我正在开发一个从 UIImagePickerController 加载图像并将它们加载到 UIScrollview 的应用程序。将图像加载到 ScrollView 工作正常。但是,图像将以不同的比例加载(底部的代码,要演示的图像)。应用程序加载的第一个图像可以正常加载,但第二个图像会缩小得太小。两者都是通过相同的代码块加载的。
通过 UIImagePickerController 首次加载图像:
相同图像的第二次加载:
这是 loadImage 方法,它们都是通过以下方式加载的:
-(void)loadImage:(UIImage *)image
{
imageView.image = image;
[imageScrollView setFrame: CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height)];
[imageScrollView setDelegate:self];
[imageScrollView setShowsHorizontalScrollIndicator:NO];
[imageScrollView setShowsVerticalScrollIndicator:NO];
[imageScrollView setMaximumZoomScale:2.0];
CGRect rect;
rect.size.width = imageView.image.size.width;
rect.size.height = imageView.image.size.height;
[imageView setFrame:rect];
[imageScrollView setContentSize:[imageView frame].size];
float minimumScale = [imageScrollView frame].size.width / [imageView frame].size.width;
[imageScrollView setMinimumZoomScale:minimumScale];
[imageScrollView setZoomScale:minimumScale];
}
尽管花了 4 到 5 个小时来寻找应该是一个简单问题的答案,但我还是被难住了。我自己的努力并没有改变任何东西,我还没有找到有人为这个问题寻求帮助的例子。我需要在我的代码中进行什么更改,以便图像始终在第一次正确显示 - 也就是说,它们显示为缩放以便显示整个图像,或者(更好)图像以最小尺寸完全显示在屏幕上?
任何帮助将不胜感激!