2010-10-17 168 views
4

有人會建議在縮放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}的新值。在這種情況下,是否有用於計算內容偏移量的公式的依賴關係?

感謝

回答

8

這可能是也可能不相關,但要注意,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