UIScrollView中的UIImageView不是全屏和缩放缩放

时间:2011-07-28 10:47:07

标签: objective-c ios ipad uiscrollview

网上的大多数示例代码都假定您的UIScrollView将是全屏的。

我正在尝试创建一个UIScrollView,里面只有一个UIImageView,只是希望能够像往常一样捏缩放。我的UIScrollView只填充屏幕的一部分,所以我不能只使用自动调整来保持正确的大小,就像示例应用程序似乎那样。

我最接近的是将其添加到UIScrollViewDelegate:

- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
CGPoint cOffset = imageScrollView.contentOffset;
float cScale = imageScrollView.contentScaleFactor;

CGRect imageFrame = ptImage.frame;

float scale = scrollView.zoomScale;

imageFrame.size.width *= scale;
imageFrame.size.height *= scale;

ptImage.frame = imageFrame;

scrollView.zoomScale = 1.0;
scrollView.frame = CGRectMake(0.0, 0.0, scrollContainerView.frame.size.width, scrollContainerView.frame.size.height);
scrollView.bounds = CGRectMake(cOffset.x * cScale * scale , cOffset.y * cScale * scale, scrollView.bounds.size.width, scrollView.bounds.size.height);

scrollView.contentSize = imageFrame.size;

}

这里唯一的问题是边界偏移(scrollView.bounds = ...)不正确。

当然,这比我在这里做的要简单得多吗?

任何帮助?

1 个答案:

答案 0 :(得分:1)

尝试在以下位置返回您的UIImageView:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

删除你在didZoom方法中输入的代码,看看是否有效。