[ 2022-08-18 ๐Ÿ˜ˆ TIL ]

Burkeyยท2022๋…„ 8์›” 18์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
16/157

๐Ÿ˜ˆ์˜ค๋Š˜์€ 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!์ฑ…์„ ๋งˆ๋ฌด๋ฆฌ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๋‚ด์ผ๋ถ€ํ„ฐ๋Š” ์‹ค์ „์œผ๋กœ ๋“ค์–ด๊ฐ€ ์กฐ๊ทธ๋งŒํ•œ ์•ฑ์„ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ์ผ์„ ์ง„ํ–‰ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ๐Ÿ˜ค

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€