有人可以建议在 UIScrollView 放大后使用哪个公式来计算内容偏移吗?让我们考虑以下示例:
我有一个 UIScrollView ,内容视图的大小为 (1000, 1000),那么如果我以编程方式setZoomScale
到 2.0 并在scrollViewDidEndZooming:withView:atScale
方法我将有以下:
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} 的新值是如何计算的。在这种情况下,用于计算内容偏移量的公式是否存在任何依赖性?
Thanks
这可能相关,也可能不相关,但请注意,160x230 是 iPhone 分辨率的一半,减去状态栏:320x460。尝试更改 UIScrollView 的框架或其超级视图的框架,并查看这对数字有何影响。
EDIT:想想看,偏移量是滚动视图大小的一半是完全有道理的,因为它将在两个方向上均匀扩展。所以,公式是: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)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)