본문 바로가기
Swift

이미지 확대/축소

by 루에 2015. 10. 22.
반응형

안드로이드는 제스쳐디텍터를 만들어서 별 짓을 다 해야 가능한 이미지 확대 축소가 매우 간단하다.


하면서 안드로이드의 부족함에 분노를 했다.


원리는 이렇다.


스크롤뷰 안에 이미지 뷰가 들어간다. 스크롤뷰에 줌을 설정하고 최소, 최대값을 설정한다.


몇가지 응용을 할 필요가 있는 부분은 나중에 추가로 작성할 예정.


코드는 아래와 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import UIKit
 
class ViewController: UIViewController, UIScrollViewDelegate {
 
    @IBOutlet weak var scrollView: UIScrollView!
    var imageVIew: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        imageVIew = UIImageView(image: UIImage(named: "1.jpg"))
        scrollView.addSubview(imageVIew)
        scrollView.contentSize = imageVIew.frame.size
        
        // set zoom range
        scrollView.minimumZoomScale = 0.5
        scrollView.maximumZoomScale = 2.0
       
    }
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    // 줌 대상을 설정하는 델리게이트. 리턴되는 View가 줌의 대상이 된다.
    func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
        return imageVIew
    }
    
    func scrollViewDidZoom(scrollView: UIScrollView) {
        // 줌을 하면 호출되는 메서드. 추가 행동이 필요할 경우 작성하면 된다.
        print("zoom")
    }
 
}
 
 
cs


반응형

댓글