본문 바로가기

Codes Travel/iOS Boost Course #2019

Gesture Recognizer란?

 

 

안녕하세요 :)

iOS 개발자 리치(rich_iosdev)입니다.


공유해드릴 내용은 Gesture Recognizer 입니다.

 

Gesture Recognizer

여러 제스처 관련된 이벤트를 인식할 수 있으며, 제스쳐 이벤트가 일어날 때 설정해둔 타겟에 메세지를 보내서 액션 함수가 호출되도록 합니다 

 

UIGestureRecognizer의 하위 클래스

 

  • UITapGestureRecognizer : 싱글탭 또는 멀티탭 제스처
  • UIPinchGestureRecognizer : 핀치(Pinch) 제스처
  • UIRotationGestureRecognizer : 회전 제스처
  • UISwipeGestureRecognizer : 스와이프(swipe) 제스처
  • UIPanGestureRecognizer : 드래그(drag) 제스처
  • UIScreenEdgePanGestureRecognizer : 화면 가장자리 드래그 제스처
  • UILongPressGestureRecognizer : 롱프레스(long-press) 제스처

제스쳐 동작은 위와 같이 여러가지가 존재하고 해당 동작에 의해서 이벤트를 받게되면 액션을 수행하게 됩니다.

 

Gesture Recognizer 샘플코드

import UIKit

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapView))
        view.addGestureRecognizer(tapRecognizer)
    }
    
    @objc func tapView(gestureRecognizer: UIGestureRecognizer) {
        print("View Tapped")
    }
    
}

UITapGestureRecognizer 클래스를 이용하여 만든 샘플 코드입니다.

 

1. UITapGestureRecognizer 인스턴스를 정의합니다 (target 과 action)

 

2. ViewController의 View에 해당 인스턴스를 Gesture Recognizer로 add 시킵니다.

 

3. 호출될 action 함수에 호출시 수행될 코드를 구현합니다. (print("View Tapped"))

 

이전에 공유해드렸던 Target-Action 포스팅에서 버튼 이벤트를 예로 들어서 샘플 코드를 구현해보았는데요 거의 동일한 형태라고 보시면 될 것 같습니다. >> https://tryyourbest5.tistory.com/323

 

포스팅 내용 중 잘못된 내용이 있다면 댓글을 달아주세요!

확인해서 수정하도록 하겠습니다!

 

끝까지 읽어주셔서 감사합니다 :)

 

References

 

[부스트코스] iOS 프로그래밍

Gesture Recognizer?

https://www.edwith.org/boostcourse-ios/lecture/17992/

'Codes Travel > iOS Boost Course #2019' 카테고리의 다른 글

UITableViewCell (테이블 뷰 셀)?  (0) 2019.08.01
UITableView ( 테이블 뷰 )?  (0) 2019.07.31
Target-Action 디자인 패턴  (0) 2019.07.24
Singleton (싱글턴) 이란?  (0) 2019.07.24
Delegation?  (0) 2019.07.23