UIScrollView 在手指点击的坐标处放大

写了一个extension,如下:

extension UIScrollView{
    ///在ScrollView上的某个点放大
    func zoomWithPoint(var zoomPoint:CGPoint,toScale:CGFloat,animated:Bool){
        var contentSize:CGSize = CGSize.zeroSize
        contentSize.width = self.contentSize.width / self.zoomScale
        contentSize.height = self.contentSize.height / self.zoomScale
        zoomPoint.x = (zoomPoint.x / self.bounds.size.width) * contentSize.width
        zoomPoint.y = (zoomPoint.y / self.bounds.size.height) * contentSize.height
        var zoomSize:CGSize = CGSize.zeroSize
        zoomSize.width = self.bounds.size.width / toScale
        zoomSize.height = self.bounds.size.height / toScale
        var zoomRect:CGRect = CGRect.zeroRect
        zoomRect.origin.x = zoomPoint.x - zoomSize.width / 2.0
        zoomRect.origin.y = zoomPoint.y - zoomSize.height / 2.0
        zoomRect.size.width = zoomSize.width
        zoomRect.size.height = zoomSize.height
        self.zoomToRect(zoomRect, animated: animated)
    }
}

Original: https://www.cnblogs.com/Free-Thinker/p/15800823.html
Author: brave-sailor
Title: UIScrollView 在手指点击的坐标处放大

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/546779/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球