了解UIScrollView

时间:2010-05-20 17:04:01

标签: iphone uiscrollview

我正在尝试了解UIScrollView如何用于缩放。

我试图在缩放的UIScrollView中旋转UIImageView,我最终得到了奇怪的尺寸,我在滚动视图中的中心不再工作了。

我通过在进行旋转之前将zoomScale设置为1.0来解决问题,然后在转换完成后将其重置为之前的值。

我想知道UIScrollView对其子视图的影响是什么。它会改变它们的大小和位置吗?或者它只是处理缩放子视图的缩放和绘制的UIScrollView。

1 个答案:

答案 0 :(得分:1)

我意识到这是一个老问题,但我想我会为那些像我一样来到这里的人添加更多信息。

滚动视图管理其内容视图,通过向内容添加转换来缩放。因此,对于放大时的图像,它使用转换将图像缩放到所需的缩放级别。

当您平移/滚动ScrollView时,它会更改缩放级别和原点位置以移动内容。所以内容可能比滚动视图本身更大。它会在滚动视图边界处剪切内容,并只调整此原点位置。

  

UIScrollView对象(或简称为滚动视图)的核心概念是它是一个视图,其原点可在内容视图上调整。它将内容剪辑到其框架,该框架通常(但不一定)与应用程序主窗口的内容重合。滚动视图跟踪手指的移动并相应地调整原点。在滚动视图中“显示”其内容的视图基于新原点绘制其自身的一部分,该原点固定在内容视图中的偏移处。除了显示垂直和水平滚动指示器外,滚动视图本身不进行绘制。滚动视图必须知道内容视图的大小,以便它知道何时停止滚动;默认情况下,当滚动超出内容范围时,它会“反弹”。

Source Documentation