【问题标题】:ScrollView ContentOffset & ZoomScaleScrollView ContentOffset & ZoomScale
【发布时间】:2011-02-17 17:10:53
【问题描述】:

随着ScrollView ZoomScale 的减小或增大,ScrollView contentOffset.X & contentOffset.Y 的最大值分别减小或增大。 我们可以以编程方式推断 ZoomScale 和最大 contentOffset.x 之间的关系吗? 如果是这样,请给出相同的逻辑。

【问题讨论】:

    标签: iphone


    【解决方案1】:

    假设你有一个 UIScrollView "A" 大小 (100, 100) 像素

    和一个 UIView “B”(最终带有子视图),它是它的内容,大小为 (200, 200)

    当 A.ZoomScale 为 1 时 您只能看到 B 的一部分(矩形大小为 100、100) 并且您可以在 A 中滚动 B 以更改可见部分,这样做您可以在“B”中更改此可见矩形的“原点”,并且该“原点”可以是 (0, 0) 和 (100, 100) 之间的一个点)。 如果您的 contentOffset.x, contentOffset.y 为 100, 100 您正在查看 B 的右/下四分之一/部分。 您无法滚动到 (101, 100),因为该部分右侧没有更多内容可看。

    现在您可以放大了,A.ZoomScale = 2

    这意味着虽然 A 的大小仍然是 (100, 100),但内容 (B) 现在是 (400, 400),所以现在 origin.x 可以从 0 变为 300 (400-300

    ps

    你可以得到:

    A.contentSize(是“缩放B”的大小,它根据zoomScale而变化,当zoomScale = 1时它等于B.frame)

    A.zoomScale

    A.frame

    【讨论】:

    • 感谢您解释 contentSize & contentOffset 的概念。这个概念反过来帮助我解决了我的问题,即让我的逻辑正确。
    • 我明白contentOffset 是什么意思。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 2022-12-23
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多