如何在我的情况下正确获取scrollView的contentSize,zoomScale和contentOffset?

时间:2015-06-08 16:04:55

标签: ios objective-c uiscrollview

我有以下情况:

  • 包含imageView。的滚动视图。
  • 此imageView可从1.0到5.0缩放值缩放。
  • 每当方向发生变化时,我都会将imageView的大小调整为特定的宽高比,然后将scrollView的contentSize设置为 包含imageView。

  • 当scrollView未缩放时,imageView会根据我的调整大小代码在任何方向调整大小。

  • 当我的scrollView在初始方向(生成它的方向)中放大时,将scrollView平移到边缘的效果很好。
  • (问题:)在缩放状态下,如果设备的方向发生变化,我的调整大小代码会重新计算imageView帧,并且zoomScale设置为1.但是,如果我再次在新方向上缩放,我会发现imageView获得大约100到200像素的偏移量。这会导致imageView在一条边上隐藏一些内容(我无法平移以查看边缘),并且它会滚动额外的边缘,在另一条边上留下一个没有任何内容的间隙。

如何更正此问题?我希望scrollView的contentSize是其内部imageView是否处于缩放状态,在任何方向之后,缩放的imageView应该能够在所有方向上平移,直到其边缘与其父scrollView的边缘相遇。

1 个答案:

答案 0 :(得分:0)

您不应该调整图像视图的大小。使用[imageView sizeToFit]。您应该重新计算适合ImageView的滚动视图的缩放。