iOS 使用UIScrollView實現圖片的縮放

iOS 使用UIScrollView實現圖片的縮放

當需要在特定的區域實現圖片的手勢縮放時,我們首先想到的就是UIScrollview。

縮放原理:當用戶在UIScrollView身上使用捏合手勢時,UIScrollView會給代理髮送一條消息,詢問代理究竟要縮放自己內部的哪一個子控件(哪一塊內容),同時會回調UIScrollView的Delegate方法:
- viewForZoomingInScrollView:(OC)方法
- viewForZooming(Swift)方法
這個方法返回的控件就是需要進行縮放的控件。

實現代碼

    let imageWidth = LayoutPublic.ScreenMainSize.mainWidth-30
        let imageHeight = LayoutPublic.ScreenMainSize.mainHeight

        let bgScrollView:UIScrollView = UIScrollView.init(frame: .init(x: 15, y: 15, width: imageWidth, height: imageHeight*0.6))
        bgScrollView.delegate = self
        bgScrollView.maximumZoomScale = 2.0
        bgScrollView.minimumZoomScale = 1.0
        bgScrollView.layer.borderWidth = 5.0;
        bgScrollView.layer.borderColor = UIColor.red.cgColor
        self.addSubview(bgScrollView)

        let imageFactWidth = imageWidth-20 //左右留白
        let imageFactHeight = imageHeight*0.3-10 //上下留白
        imageBgView = UIView.init(frame: .init(x: 10, y: 10, width: imageFactWidth, height: imageHeight*0.6-20))
        bgScrollView.addSubview(imageBgView)

代理方法(記得引入代理方法):

        func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return imageBgView
    }

實現效果:

這裏寫圖片描述
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章