UIView를 오버레이하여 사용자 정의 테이블 뷰를 작성하려고합니다. 나는 일반 UIView에서 특별한 제스처, 특히 두 번 탭하여 활성화 (탭 앤 홀드, 팬)하는 팬 제스처를 인식하려고합니다.UITableView 상단의 UIView에서 터치 이벤트 전달
현재 사용자 지정 UIView는 물론 사용자 지정 UITableViewController가 있습니다. 호환성 이유 (기존 UITableViewController 쉽게 교체) UIViewController 내부에있는 UITableView 대신 UITableViewController 유지하도록 노력하고 싶습니다.
두 번 탭하면 문제가 없지만 문제는 더 이상 실제로 테이블보기에서 행을 선택할 수 없다는 것입니다. 테이블 안에서 스크롤 할 수는 있지만 실제 선택은 작동하지 않습니다.
모든 탭, 스 와이프 및 일반 이벤트를 맞춤 테이블보기 셀 (예 : 특정 작업을 실행하려면 왼쪽 또는 오른쪽으로 스 와이프 할 수있는 지우기 또는 사서함)에서 유지하는 것이 이상적입니다.
테이블 뷰에서 indexPathForRowAtPoint:
테이블 뷰 셀을 가져올 수 있다는 것을 알고 있지만 토글 만 선택할 수 있습니다.
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[self.nextResponder touchesBegan: touches withEvent: event];
}
뿐만 아니라 다른 관련 이벤트를하고 nextResponder 사용자 지정있는 UITableViewController,하지만 아무것도 할 수 없었던 것으로 확인되었습니다 :
나는 또한 접촉을 무시하려고했습니다는 다음과 같이 시작했다.
다른 게시물을 확인했지만 해결 방법이 없습니다. 내가 시도 몇 가지 다른 사항은 다음과 같습니다
는 단일 탭 제스처 인식기를 추가하고있는 UITableViewController에 전달하기
[_containingTableViewController gestureRecognizerShouldBegin: tapGesture];
구현 된 다른 제스처 인식기 대표
-(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch: (UITouch *)touch{ return (touch.tapCount >= 2); }
뿐만 아니라 모두 예 및 아니오 :
-(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
또한 테이블보기에서 canCancelContentTouches
설정을 시도했지만 어느 값도 작동하지 않습니다.
어떤 도움을 주시면 감사하겠습니다. 꽤 많은 노력을했지만 막상 얻지는 못했습니다!
실제로 GitHub에 전체 프로젝트를 게시 할 수 있지만 먼저 작업을 정리해야합니다.
감사합니다.