UIScrollView缩放:限制平移到imageView.image边界

我有一个屏幕大小的UIScrollView持有相同大小的UIImageView。

我使用AspectFit在UIImageView中设置了一个图像,因此在更宽的图像中,顶部和底部都有黑条。 这是缩小时的预期。

双击屏幕将强制[self.scrollView setZoomScale:self.scrollView.maximumZoomScale animated:YES]; 与此相关的问题是,在像上面提到的那样的图像上,我能够远远超出照片的边缘。

我认为这是因为我return imageView;(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView高度比图像高,所以我能够平移到(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView的顶部和底部,忽略其内容。

那么,如何限制将scrollview平移到图像的边界呢?


你需要使用这个:在Xcode 6中使用AutoLayout约束来模拟方面适合的行为

看点符合Autolayout。 然后,如果图像大小不同,则需要在加载图像时添加宽高比限制。 U可以得到一个错误,缩放后的图像粘到右边。 仍然无法解决它。


只需通过此代码将scrollview的内容大小设置为图像的大小即可:

scrollView.contentSize = [scrollView imageView].image.size;

请注意,您应该在为scrollview imageView设置图像时执行此操作。

链接地址: http://www.djcxy.com/p/68149.html

上一篇: UIScrollView Zoom: Limit panning to imageView.image bounds

下一篇: Modern technique of adding gradient to UIView