프로그래밍/IOS (Swift)
[ios/Swift] pinchGesture 사용하기 (이미지 확대/축소 하기)
Ljunhyeob - App Dev
2023. 1. 12. 16:22
https://github.com/Ljunhyeob/pinchGesture
GitHub - Ljunhyeob/pinchGesture: Swift 이미지 확대
Swift 이미지 확대. Contribute to Ljunhyeob/pinchGesture development by creating an account on GitHub.
github.com
1. 이미지뷰 하나 생성합니다.
2. 방금 생성한 imageView에 오토레이아웃 잡아주시고 (원하는 크기에 맞춰서) 우측 인스펙터 영역에서 Content Mode 를 Aspect Fit으로 해주세요.
3. 그리고 원하는 이미지로 변경해주시고요, (저는 따로 이미지를 다운받지 않아서 그냥 기본 이미지 아무거나 넣었습니다)
4.그리고 이미지랑 viewController 랑 이어주시고
5. viewDidLoad() 안에 아래와 같이 코딩해줍니다
(에러나는건 현재 doPinch 함수를 생성하지 않아서 에러나는겁니다. 아래에서 생성 할겁니다)
//
// ViewController.swift
// pinchGestureApp
//
// Created by 이준협 on 2023/01/12.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var image: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let pinch = UIPinchGestureRecognizer(target: self, action: #selector(ViewController.doPinch(_ :)))
self.view.addGestureRecognizer(pinch)
}
}
6. doPinch함수를 생성해줍니다.
//
// ViewController.swift
// pinchGestureApp
//
// Created by 이준협 on 2023/01/12.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var image: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let pinch = UIPinchGestureRecognizer(target: self, action: #selector(ViewController.doPinch(_ :)))
self.view.addGestureRecognizer(pinch)
}
@objc func doPinch(_ pinch: UIPinchGestureRecognizer){
image.transform = image.transform.scaledBy(x: pinch.scale, y: pinch.scale)
pinch.scale = 1
}
}
7. 엥 근데 이런 에러가 뜨네요. 버전 어쩌구 저쩌구............. (시뮬레이터에서 하시는 분들은 안뜰껍니다.)
8. 아래 16.2 로 되어있는버전을 16으로 변경해주겠습니다.
9. 그러면 정상적으로 작동합니다 끝~