网上的大多数示例代码都假定您的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 = ...)不正确。
当然,这比我在这里做的要简单得多吗?
任何帮助?
答案 0 :(得分:1)
尝试在以下位置返回您的UIImageView:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
删除你在didZoom方法中输入的代码,看看是否有效。