Things take time

[SWIFT] UIImageView, UIScrollView를 이용한 Pinch To Zoom(확대 기능) 본문

iOS (기능)

[SWIFT] UIImageView, UIScrollView를 이용한 Pinch To Zoom(확대 기능)

겸손할 겸 2018. 1. 31. 11:12

[로직]


UIImagewView / UIScrollView를 이용하여 손가락 확대 기능을 구현한다.

안드로이드의 경우에는 구현이 어려워서, 이미지 뷰 전용 라이브러리를 통해 활용했지만, iOS는 간단하다.


한 줄 요약

UIScrollView를 부모로 하여 그 밑에 UIImageView를 넣고 설정하면 끝



[코드]

import UIKit

class ViewController: UIViewController, UIScrollViewDelegate {
    @IBOutlet weak var scrollView: UIScrollView!
    @IBOutlet weak var imageView: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        scrollView.alwaysBounceVertical = false
        scrollView.alwaysBounceHorizontal = false
        
        scrollView.minimumZoomScale = 1.0
        scrollView.maximumZoomScale = 2.0
        scrollView.delegate = self
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @available(iOS 2.0, *)
    public func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return self.imageView
    }
}

min은 최대한 축소했을 때의 최소 값, max는 최대한 줌했을 때의 최대 값(이미지 뷰 기준)