๐์ค๋์ pinch ์ด๋ฒคํธ ์์ ๋ฅผ ๋ฐ๋ผ ๊ตฌํํด ๋ณด์์ต๋๋ค.
import UIKit
class ViewController: UIViewController {
@IBOutlet var imgPinch: UIImageView!
//์ด๋ฏธ์ง ๋ทฐ ์์ธ๋ ๋ณ์
let imgs = ["peing11.png", "peingu1.jpeg", "peing2.jpeg", "peing5.jpeg", "peing6.jpeg", "peingu4.jpeg"]
//์ด๋ฏธ์งํ์ผ ์ด๋ฆ์ด ๋ค์ด์๋ ๋ฐฐ์ด
var imgIndex = 0//์ด๊ธฐ ์ธ๋ฑ์ค
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
imgPinch.image = UIImage(named: imgs[0])
imgIndex = 0
let pinch = UIPinchGestureRecognizer(target: self, action: #selector(ViewController.doPinch(_ : )))
//pinch์ด๋ฒคํธ ๋ฐ์์์ ์ฌ์ฉํ ํจ์ ์ง์
let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.doSwipeRight(_ : )))
swipeRight.direction = UISwipeGestureRecognizer.Direction.right
let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.doSwipeLeft(_ : )))
swipeLeft.direction = UISwipeGestureRecognizer.Direction.left
//์ข์ฐ๋ก swipe ๋ฐ์์์ ์ฌ์ฉํ ํจ์ ์ง์
self.view.addGestureRecognizer(pinch)
self.view.addGestureRecognizer(swipeLeft)
self.view.addGestureRecognizer(swipeRight)
//๋ทฐ์ ์ ์ค์ณ๋ฅผ ๋ฑ๋ก
}
@objc func doPinch(_ pinch: UIPinchGestureRecognizer){
imgPinch.transform = imgPinch.transform.scaledBy(x: pinch.scale, y: pinch.scale)
//์ด๋ฏธ์ง๋ทฐ์ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ์ด ๋๋๋ก ํ๋ค.
pinch.scale = 1
//๋ฐฐ์จ? ์ง์
}
@objc func doSwipeRight(_ swipe: UISwipeGestureRecognizer){
if imgIndex < imgs.count - 1 {
imgIndex = imgIndex + 1
//์ค๋ฅธ์ชฝ์ผ๋ก Swipe์์ imgs๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ 1์ฉ ์ฆ๊ฐ
//imgs๋ฐฐ์ด๋ณด๋ค ์ธ๋ฑ์ค๊ฐ์ด ์ปค์ง์ง ์๊ฒ ์กฐ๊ฑด ์ถ๊ฐ
}
imgPinch.image = UIImage(named: imgs[imgIndex])
//์ด๋ฏธ์ง๋ทฐ์ ์ด๋ฏธ์ง ์ค์
}
@objc func doSwipeLeft(_ swipe: UISwipeGestureRecognizer){
if imgIndex > 0 {
imgIndex = imgIndex - 1
//์ผ์ชฝ์ผ๋ก Swipe์์ imgs๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ 1์ฉ ๊ฐ์
//imgs๋ฐฐ์ด๋ณด๋ค ์ธ๋ฑ์ค๊ฐ์ด ์์์ง์ง ์๊ฒ ์กฐ๊ฑด ์ถ๊ฐ
}
imgPinch.image = UIImage(named: imgs[imgIndex])
}
}
์ค๋๋ก Doit!์ฑ
์ ๋ง๋ฌด๋ฆฌ ํ์์ต๋๋ค.
๋ด์ผ๋ถํฐ๋ ์ค์ ์ผ๋ก ๋ค์ด๊ฐ ์กฐ๊ทธ๋งํ ์ฑ์ ๊ตฌํํด๋ณด๋ ์ผ์ ์งํ ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค! ๐ค