2012-03-12 2 views
0

버튼이있는 테이블보기가 있습니다. 나는 UIPanGestureRecognizer를 단추에 추가하여 사용자가 단추를 가로로 움직일 수 있도록했습니다. 그러나 사용자가 버튼을 터치하면 전체 테이블 뷰의 수직 스크롤이 작동하지 않습니다. 제스처 인식기를 사용하지 않으면 세로 스크롤이 제대로 작동합니다. 사용자가 세로 및 가로보기 버튼을 이동하는 것을 허용하는 방법?사용자가 세로 및 가로보기 단추를 이동하는 것을 허용하는 방법?

답변

1

제스처 인식을 가로 챌 때 UITableView이 제스처 이벤트에 대한 알림을 받도록 차단하고 있습니다. 이것을 처리하기 위해 제스처를 인식하는 동일한 장소 (방법)에서 비교를하십시오. 수평축 인 경우 (예 : 수평 이동), 원하는대로 수행하십시오. 그렇지 않으면 체인을 따라 전달하여 테이블보기에 응답 할 수있는 기회를 얻으십시오.

편집

그것은 당신이 어떤 방법을 따라, 당신은 어떤 방법을 재정의했다. 일단 터치 이벤트를 인식했습니다. 다음은 그 예이다 :

-(void)respondToEvent:(UIEvent *)event { 
     if (event == horizontalPan) 
      [self handleEvent:event]; 
     else 
      [super respondToEvent:event]; 
} 

당신은 다음의 응답자 (또는 슈퍼)에 같은 방법을 호출해야합니다.

참고 :

  1. https://developer.apple.com/library/ios/#DOCUMENTATION/EventHandling/Conceptual/EventHandlingiPhoneOS/EventsiPhoneOS/EventsiPhoneOS.html#//apple_ref/doc/uid/TP40009541-CH2-SW5

  2. https://developer.apple.com/library/ios/#documentation/uikit/reference/UIResponder_Class/Reference/Reference.html#//apple_ref/occ/cl/UIResponder

  3. http://books.google.com/books?id=rk1EEL4WpFEC&lpg=PP1&pg=PA530#v=onepage&q&f=false

+0

방법 체인을 따라 전달하기 위해? – Radislav

+0

내 대답을 편집하여 더 많은 정보를 포함합니다. 희망이 도움이됩니다. – Canopus

+0

예, 문제는 제스처 인식기 방법으로 처리하려고합니다. - (void) pan : (UIPanGestureRecognizer *) 제스처. 나는 그 메소드의 실행을 건너 뛰고 다음 뷰로 실행을 넘겨주고 싶다. – Radislav

관련 문제