已知UIScrollView放大後的Frame和放大之前的Frame計算放大的瞄點座標

流火行者發表於2015-03-15

有時候在縮放後,需要知道該次縮放是在哪個座標開始縮放的。如上篇已知縮放的點,然後在該點對其縮放。本篇其實是逆運算

(x,y)就是當初在該點進行縮放

化簡之後很簡單,程式碼如下:

    func getZoomPoint(fromRect:CGRect,toRect:CGRect)->CGPoint{
        var scale = toRect.width / fromRect.width
        var x = (toRect.origin.x - scale * fromRect.origin.x) / (1.0 - scale)
        var y = (toRect.origin.y - scale * fromRect.origin.y) / (1.0 - scale)
        return CGPoint(x: x, y: y)
    }

 

相關文章