UIScrollview 不允许我滚动整个图像

Posted

技术标签:

【中文标题】UIScrollview 不允许我滚动整个图像【英文标题】:UIScrollview is not letting me scroll around the entire image 【发布时间】:2014-09-21 08:18:02 【问题描述】:

我在 UIScrollview 中有一个大图像 (1024x1024),而滚动视图在 UIView 中。我将图像放入滚动视图,并将滚动视图大小设置为 1024,同时将 UIImageview 大小设置为 1024。UIView 大小为 320x320。

它只能让我在图像周围滚动一点,基本上只是让我看到图像的左上角。我做错了什么?

【问题讨论】:

你把scrollView的内容大小设置成uiimageView的全尺寸了吗? 我在 Size Inspector 中将它设置为相等,如果这是您的要求。除非内容大小不同。顺便说一句,我关闭了自动布局。 【参考方案1】:

您需要设置UIScrollViewcontentSize

scrollView frame 表示scrollView 在屏幕上的位置和大小,而contentSize 是scrollView 内内容的大小(可能比scrollView 的框架大得多)。 所以,这样的事情就可以了(假设你有一个 UIScrollView 和一个 UIImageView 已经包含你想要显示的 UIImage

_scrollView.contentSize = _imageView.image.size;

【讨论】:

【参考方案2】:

您的容器视图的大小为 (320X320)。但是,该视图内的滚动视图大小为 (1024X1024),与您的图像完全相同。那么,它如何滚动?您需要将滚动视图大小设置为 (320X320),然后设置其内容大小。计算该图像的高度和宽度,并据此设置内容大小。

【讨论】:

以上是关于UIScrollview 不允许我滚动整个图像的主要内容,如果未能解决你的问题,请参考以下文章

iOS UIScrollView捏缩放添加空白

带有 ImageView 的 UIScrollView 不垂直滚动

UIScrollView 根本不滚动

Interface Builder中的UIScrollView不滚动

自动滚动 UIScrollView,允许用户中断动画

当前从具有许多图像的 UIScrollview 释放内存的方法