본문 바로가기
프로그램/iOS

[xcode8, Swift 3] UIScrollView 에서 UIImageView 적용하고 이미지 줌인, 줌아웃

by 로드러너 2017. 1. 3.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

xcode8에서 Swift 3을 이용해서 UIScrollView의 하위 View로 UIImageView 객체를 동적으로 생성한 후에 Pinch Gesture 로 이미지를 줌인, 줌아웃하는 앱을 개발해 보려고 합니다.



개발 환경

xcode8, Swift3



프로젝트 생성


Project navigator 에서 Main.storyboard 파일을 선택한다.



Object library 창에서 UIScrollView 객체를 끓어다가 ViewController 위에 놓는다.




메뉴 View>Assistant Editor>Show Assistant Editor 를 선택해서 



ViewController.swift 를 에디터로 연다.




Ctrl+UIScrollView 클릭, 드래그 해서 ViewController.swift 파일의 선언부에 드롭한다.

이미지 객체 변수를 선언한다.




viewDidLoad()에 다음 코드를 추가한다.


//ImageView 생성

imageView = UIImageView(image: UIImage(named: "greese.png"))


//ScrollView 하위View ImageView 등록한다.

scrollView.addSubview(imageView)

scrollView.contentSize = imageView.frame.size

    

//ScrollView Zoom 범위를 설정한다.

scrollView.minimumZoomScale = 0.5

scrollView.maximumZoomScale = 1.0

    

scrollView.delegate = self



Pinch Gesture를 이용해서 이미지를 확대, 축소하기 위해서 다음 메소드를 추가한다.


//ScrollView Zoom대상으로 ImageView 알려준다.

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

    return imageView

}



실행


프로그램을 컴파일하고 실행 합니다.

Pinch Gesture를 이용해서 줌인, 중아웃 예시입니다.