【发布时间】:2013-03-12 07:17:12
【问题描述】:
我已经在我的UIScrollView 中成功实现了UIImageView 的缩放,但我遇到了一个令我恼火的奇怪问题。
基本上,当我放大图像时
我可以平移视图以实际滚动到图像边框之外,并且留下一个黑色区域,如下所示:
当我进一步放大时,我可以让黑色边框填满整个屏幕! 同时在 iPhone 照片应用程序中,您无法缩小实际图像。我的实现有什么问题?
看起来像这样:
UIImage *imageToDisplay = [UIImage imageWithData:tmpImageData];
imageViewMain.image = imageToDisplay;
imageViewMain.frame = CGRectMake(0, 0, scrollViewMain.frame.size.width, scrollViewMain.frame.size.height);
imageViewMain.contentMode = UIViewContentModeScaleAspectFit;
scrollViewMain.delegate = self;
scrollViewMain.minimumZoomScale = 1.0;
scrollViewMain.maximumZoomScale = 9.0;
scrollViewMain.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
scrollViewMain.contentSize = imageViewMain.frame.size;
[self.view addSubview:scrollViewMain];
[scrollViewMain addSubview:imageViewMain];
而且我也实现了这个方法:
- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return imageViewMain;
}
提前致谢!
编辑: 当我第一次加载视图时,我缩小 UIImageView 以适应滚动视图,图像看起来像这样:
【问题讨论】:
-
为什么你使用滚动视图你可以用 UIPinchGestureRecognizer 来缩放图像
-
@SAMIRRATHOD 你那臭名昭著的手势识别器会允许我在这里和那里拖动 imageView 吗?我非常怀疑,先生。
-
是的,您可以使用 GestureRecognizer 拖动您的图像视图
-
@SAMIRRATHOD 我向你保证,使用 UIScrollView 是一种更好的方法。
-
Sergious:也许这个GitHib project 可以帮助你。请试一试。我没有查看您的完整代码,所以只是建议链接。
标签: iphone ios objective-c cocoa-touch uiscrollview