IOS 의 다 중 제스처 간 의 충돌 과 해결 방법

IOS 의 다 중 제스처 간 의 충돌 과 해결 방법
UIImageView 기본 값 은 상호작용 이 지원 되 지 않 습 니 다.즉,userInteractionEnabled=NO 입 니 다.따라서 터치 이벤트(제스처 인식)를 받 으 려 면 userInteractionEnabled=YES(iOS 에서 UILabel,UIImageView 의 userInteractionEnabled 기본 값 은 NO,UIButton,UITextField,UIScrollView,UITableView 등 기본 값 은 YES)를 설정 해 야 합 니 다.
iOS 에 서 는 한 제스처 A 의 인식 부분 이 다른 제스처 B 의 하위 부분 일 경우 기본적으로 A 가 먼저 인식 되 고 B 는 인식 되 지 않 는 다.이 충돌 을 해결 하려 면-(void)requireGesture Recognizer ToFail:(UIGesture Recognizer*)otherGesture Recognizer;방법 으로 완성 하 다.이 방법 은 어떤 제스처 가 실행 되 는 전 제 를 지정 할 수 있다.다른 제스처 가 실패 해 야 실행 을 식별 할 수 있다.

//                     
[panGesture requireGestureRecognizerToFail:swipeGestureToRight];
[panGesture requireGestureRecognizerToFail:swipeGestureToLeft];
//              
[longPressGesture requireGestureRecognizerToFail:panGesture];
아래 의 방법 을 통 해 같은 보기 의 여러 제스처 동작 을 실현 할 수 있 습 니 다.
  • UIGesture Recognizer Delegate,
  • 해당 하 는 방법 을 다시 쓴다.
  • 지정 제스처 대리자
  • 대 리 를 이용 하 는 방법
  • 
    -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
    shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
    (이 프 록 시 방법 은 기본적으로 NO 로 돌아 가 제스처 를 계속 식별 하 는 것 을 차단 하고 YES 로 돌아 가면 계속 아래로 식별 할 수 있 습 니 다.)
    읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

    좋은 웹페이지 즐겨찾기