UIScrollView:缩放后的​​内容偏移量计算

问题描述:

有人会建议在缩放UIScrollView后哪个公式用于内容偏移量计算?让我们看看下面的例子: 我有大小(1000,1000)的内容视图一个UIScrollView,然后如果我编程setZoomScale 2.0和scrollViewDidEndZooming:withView:atScale方法,我将具备以下条件:UIScrollView:缩放后的​​内容偏移量计算

contentSize before zoom = {1000, 1000} 
contentOffset before zoom = {0, 0} 
scale = 2.000000 
contentSize after zoom = {2000, 2000} 
contentOffset after zoom = {160, 230} 

我需要知道如何计算contentOffset {160,230}的新值。在这种情况下,是否有用于计算内容偏移量的公式的依赖关系?

感谢

这可能是也可能不相关,但要注意,160x230的是iPhone手机的状态栏少一半分辨率:320x460。尝试更改UIScrollView的框架或其超级视图的框架,并查看这会如何影响数字。

编辑:想想吧,它是非常有意义的,偏移量是滚动视图大小的一半,因为它将在两个方向上均等展开。所以,公式会是:contentOffset = (scrollView.frame.size.width/2 * (scaleAfter - scaleBefore), scrollView.frame.size.height/2 * (scaleAfter - scaleBefore))

因此,如果比例尺为4.0f,则偏移量将为:(320/2 * (4-1), 460/2 * (4-1)) => (480, 690)。尝试4的比例,看看是否(480,690)出来。

+0

非常感谢,大卫!这正是我需要的。 – user478681 2010-10-18 06:21:52