티스토리 뷰

이번에는 머리식힐겸 간단한 걸 해보도록 합시다. 

 

Swipe란?

일반적으로 사용자가 화면을 일직선으로 손가락으로 미는 행동을 의미합니다. 

쉽게 생각하시면 핸드폰 화면을 좌우로 넘길때 손가락을 화면에 붙인뒤

일직선으로 손가락을 움직이시는 행위가 바로 Swipe 입니다. 

 

어떻게 만들어요?

참고로 아이폰에서는 Swipe 인식 매우 간단히 구현이 가능합니다. 

(원하시는 방향만 주의하시면 매우 간단합니다.)

 

스와이프 할 영역에 UISwipeGestureRecognizer를 추가해주시면 됩니다. 

 

그전에 아래처럼 스와이프할 영역의 isUserInteractionEnabled을 바꿔주세요.

self.view.isUserInteractionEnabled = true

그 후 원하시는 방향에 따라 UISwipeGestureRecognizer를 적용해주세요.

 

위 ↑

let swipeRecogUp = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(sender:)))
swipeRecogUp.direction = .up
self.view.addGestureRecognizer(swipeRecogUp)

아래 ↓

let swipeRecogDown = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(sender:)))
swipeRecogDown.direction = .down
self.view.addGestureRecognizer(swipeRecogDown)

오른쪽 →

let swipeRecogRight = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(sender:)))
swipeRecogRight.direction = .right
self.view.addGestureRecognizer(swipeRecogRight)

왼쪽 ←

let swipeRecogLeft = UISwipeGestureRecognizer(target: self, action: #selector(swipeAction(sender:)))
swipeRecogLeft.direction = .left
self.view.addGestureRecognizer(swipeRecogLeft)

 

저는 스와이프가 감지되면 아래 함수가 작동하도록 만들어보겠습니다.

@objc func swipeAction(sender : UISwipeGestureRecognizer){
    switch sender.direction{
    case .up:
        self.dictLbl.text = "up"
    case .down:
        self.dictLbl.text = "down"
    case .right:
        self.dictLbl.text = "right"
    case .left:
        self.dictLbl.text = "left"
    default:
        self.dictLbl.text = "??"
    }
}

여기까지만 하면 아래처럼 작동이 되는걸 확인할 수 있습니다.

짠 스와이프할때마다 바뀌는걸 볼수있습니다.

그럼 오늘도 파이팅입니다~

댓글