사과
  • 애플 개발자 문서 한글 번역
  • App Frameworks
    • Foundation
      • 숫자, 데이터와 기본값
      • 문자열과 텍스트
      • 컬렉션
      • 날짜와 시간
      • 데이터 포맷
      • 작업 관리
        • Operation
        • OperationQueue
        • Timer
      • 리소스
        • Bundle
      • 파일 시스템
        • FileManager
      • Notification
        • NSKeyValueObserving
      • URL 로딩 시스템
        • 웹사이트 데이터를 메모리에 저장하기
        • URLSession
          • URLSessionConfiguration
            • urlCache
            • requestCachePolicy
          • configuration
        • URLSessionTask
        • URLRequest
        • URLResponse
        • HTTPURLResponse
        • 캐시 데이터에 접근하기
        • CachedURLResponse
        • URLCache
      • Object Runtime
        • NSValue
    • UIKit
      • UIKit으로 앱 개발
      • 앱과 환경
        • 앱 라이프 사이클 관리하기
        • 앱 실행에 대응하기
        • UIApplication
      • 문서, 데이터와 클립보드
      • Mac Catalyst
        • iPad 앱을 Mac 버전으로 만들기
        • 아이패드 앱의 맥 최적화
      • 뷰와 컨트롤
        • UIView
        • Table Views
          • UITableView
          • UITableViewCell
          • UIRefreshControl
        • UIScrollView
      • View Controllers
        • UIViewController
        • UITableViewController
        • UISearchController
      • 애니메이션과 햅틱
        • 프로퍼티 기반 애니메이션
          • UIViewPropertyAnimator
        • View controller 전환
      • 터치, 누르기, 제스처
        • UIResponder
        • UIKit 제스처 처리
        • 다중 제스처 인식기 조정
        • UILongPressGestureRecognizer
        • UIPanGestureRecognizer
          • maximumNumberOfTouches
          • minimunNumberOfTouches
          • translation(in:)
          • setTranslation(_:in:)
          • velocity(in:)
        • UIGestureRecognizer
    • Swift
      • 스위프트 표준 라이브러리
        • 메모리 직접 관리
          • 포인터 파라미터를 사용하는 함수 호출
          • UnsafePointer
          • UnsafeMutableRawBufferPointer
    • SwiftUI
      • 뷰와 컨트롤
        • View
        • Text
        • TextField
      • 뷰 레이아웃과 표현
      • 그리기와 애니메이션
      • 프레임워크 통합
      • 상태와 데이터 흐름
  • Graphics and Games
    • Core Animation
      • CALayer
      • CAAction
      • CAShapeLayer
      • CADisplayLink
    • Core Graphics
      • CGFloat
      • CGPath
  • App Services
    • Combine
    • WebKit
      • WKWebView
  • Media
    • AVFoundation
      • 시스템 오디오 상호작용
        • AVAudioSession
          • AVAudioSession.Category
            • ambient
            • multiRoute
            • playAndRecord
            • playback
            • record
            • soloAmbient
          • AVAudioSession.Mode
      • AVFoundation 자료형
  • Documentation Archive
    • 번들 프로그래밍 가이드
      • 번들에 대해
      • 번들 구조
    • Key-Value Observing 프로그래밍 가이드
    • Threading 프로그래밍 가이드
      • About Threaded Programming
      • Thread Management
  • ETC
    • Not Found
Powered by GitBook
On this page
  • 개요
  • 주제
  • 동시 제스처
  • 같이 보기
  • 표준 제스처
  1. App Frameworks
  2. UIKit
  3. 터치, 누르기, 제스처

다중 제스처 인식기 조정

동일한 view 내에서 여러 제스처 인식기를 사용하는 방법을 알아보세요.

PreviousUIKit 제스처 처리NextUILongPressGestureRecognizer

Last updated 5 years ago

원문 출처

개요

각각의 제스처 인식기들은 들어오는 터치 이벤트를 별도로 추적합니다. 하지만 UIKit은 일반적으로 하나의 뷰에서 한번에 하나의 제스처만 인식하도록 하고 있습니다. 하나의 제스처만 인식하여 사용하면 입력이 하나 이상의 액션을 일으키는 것을 막아줄 수 있기 때문에 대부분의 경우에 선호되는 방식이지만 이 기본 동작이 의도치 않은 부작용을 일으키기도 합니다. 예를 들어 팬과 스와이프 제스처 인식기를 둘다 보유하고 있는 뷰가 하나 있다고 가정해봅시다. 팬 제스처 인식기는 연속적이고, 스와이프 제스처 인식기는 불연속적이기 때문에 스와이프 인식기는 절대로 사용될 수 없을것입니다.

이렇게 기본 인식 동작으로부터 발생하는 부작용을 막기 위해서는 delegate 객체를 사용하여 UIKit에 제스처의 인식 순서를 알려줘야 합니다. UIKit은 delegate 객체의 메서드를 사용해서 제스처 인식기 간의 순서를 결정합니다. 예를 들어 팬 제스처 인식기가 동작을 취하기 위해서는 그 전에 스와이프 제스처 인식기가 실패한 이후에만 가능하다든지, 두 제스처가 동식에 인식될 수 있다든지 하는 내용을 delegate를 통해서 UIKit에 전달할 수 있습니다.

주제

동시 제스처

  • 하나의 제스처가 다른 제스처보다 우선하는 경우 제스처 인식기의 delegate 객체를 사용해서 뷰 안의 제스처 우선순위를 결정하세요

  • 여러 제스처의 동시 인식 허용 delegate 객체를 사용해서 하나 이상의 제스처를 동시에 감지하는 방법을 알아보세요

  • UIKit 컨트롤에 제스처 인식기 연결 제스처 인식기가 버튼이나 스위치 같은 UIKit 컨트롤과 어떻게 상호작용하는지 알아보세요

같이 보기

표준 제스처

  • 제스처 인식기를 사용하여 터치 처리를 단순화하고 일관적인 사용자 환경을 만드세요.

  • class UIHoverGestureRecognizer beta A gesture recognizer that looks for pointer movement over a view.

  • class 길게 누르기 제스처를 인식하는 의 하위 구상 클래스

  • class 드래그 제스처를 인식하는 의 하위 구상 클래스

  • class UIPinchGestureRecognizer pinching 제스처를 인식하는 의 하위 구상 클래스

  • class UIScreenEdgePanGestureRecognizer 스크린 가장자리로부터의 드래그 제스처를 인식하는 의 하위 구상 클래스

  • class UISwipeGestureRecognizer 하나 이상의 방향으로 스와이프하는 제스처를 인식하는 의 하위 구상 클래스

  • class UIRotationGestureRecognizer 두 개의 터치로 회전하는 제스처를 인식하는 의 하위 구상 클래스

  • class UITapGestureRecognizer 하나 또는 다중 탭 동작을 인식하는 의 하위 구상 클래스

https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/coordinating_multiple_gesture_recognizers
UIKit 제스처 처리
UILongPressGestureRecognizer
UIGestureRecognizer
UIPanGestureRecognizer
UIGestureRecognizer
UIGestureRecognizer
UIGestureRecognizer
UIGestureRecognizer
UIGestureRecognizer
UIGestureRecognizer