随着ScrollView ZoomScale的减小或增大,ScrollView contentOffset.X和contentOffset.Y的最大值分别减小或增大。我们可以通过编程推导出ZoomScale和maximum contentOffset.x之间的关系吗?如果是这样,请给出同样的逻辑。
发布于 2011-02-17 17:10:53
假设你有一个UIScrollView "A“大小的(100,100)像素
和一个UIView "B“(最终带有subViews),它是它的内容,大小(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 <- content.size - A.size)
ps
你可以得到:
A.contentSize (它是“缩放B”的大小,它根据zoomScale而变化,当zoomScale =1时,它等于B.frame)
A.zoomScale
A.frame
https://stackoverflow.com/questions/5026650
复制相似问题