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)出来。
非常感谢,大卫!这正是我需要的。 – user478681 2010-10-18 06:21:52