【问题标题】:How to get the contentSize, zoomScale and contentOffset of scrollView properly in my case?在我的情况下,如何正确获取 scrollView 的 contentSize、zoomScale 和 contentOffset?
【发布时间】:2015-06-08 16:04:55
【问题描述】:

我有以下情况:

  • 包含 imageView 的滚动视图。
  • 此 imageView 可从 1.0 缩放到 5.0 比例值。
  • 每当方向改变时,我都会将 imageView 调整为特定的纵横比,然后将 scrollView 的 contentSize 设置为 包含 imageView。

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

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

我怎样才能纠正这个问题?我希望 scrollView 的 contentSize 使其内部 imageView 处于缩放状态,在任何方向之后,缩放后的 imageView 应该能够在所有方向上平移,直到其边缘与其父 scrollView 的边缘相遇。

【问题讨论】:

    标签: ios objective-c uiscrollview


    【解决方案1】:

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

    【讨论】:

    • 好的,我明白了.. 但是,如果我真的需要更改 scrollView 中包含的视图的大小,你能告诉我任何想法吗?
    • 我不明白你为什么需要这样做。但是,如果不调整大小/重新定位源代码,我认为我无法为您提供帮助。也许 imageview 中的图像不适合视图,也许 imageview 位置不对。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多