반응형
안드로이드는 제스쳐디텍터를 만들어서 별 짓을 다 해야 가능한 이미지 확대 축소가 매우 간단하다.
하면서 안드로이드의 부족함에 분노를 했다.
원리는 이렇다.
스크롤뷰 안에 이미지 뷰가 들어간다. 스크롤뷰에 줌을 설정하고 최소, 최대값을 설정한다.
몇가지 응용을 할 필요가 있는 부분은 나중에 추가로 작성할 예정.
코드는 아래와 같다.
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 |
반응형
댓글