2010-02-20 3 views
2

사용자 정의 UIView에서 UITableView (UIView는 UITableView 바로 위에 있음)로 전달하려고합니다. 그러나, 그것은 작동하지 않는 것 같습니다. 내 사용자 지정 UIView의에서 UITableView는 패스 스루 터치를 허용하지 않습니다.

, 나는 (예를 들어 내가 사용하고있는 touchesMoved하지만 4 터치 방식이 구현 한) 다음의 모든 시도

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    [self.nextResponder touchesMoved:touches withEvent:event]; 
} 

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { [super 
touchesMoved:touches withEvent:event]; 
} 

난 통과를 시도했습니다 직접 사용자 정의에 UIView와이 일에 jQuery과에 대한 포인터 : 이러한 옵션의

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
    [self.myTableView touchesMoved:touches withEvent:event]; 
} 

없음 내가 jQuery과 스크롤 할 수있는 아무것도 할 것을 보이지 않는다. 이것이 작동하지 않는 이유는 무엇입니까?

답변

1

UIView가 UITableView의 하위보기가 아닌 경우 UITableView에 대한 응답자 체인을 건 드리면 전달되지 않습니다.

그러나 가장 가능성있는 원인은 스크롤 뷰입니다. Scrollviews는 서브 뷰로 보내기 전에 모든 터치를 잡습니다. 이것은 일반적인 설정에서 거꾸로입니다.

UITableView는 scrollview를 사용하기 때문에 스크롤 뷰가 UIView 자체에 도착하기 전에 터치를 트래핑하고있을 가능성이 있습니다.

이것을 테스트하려면 UIView를 "오버"시키십시오. 즉, 일반 뷰의 서브 뷰로 만들고 응답 체인을 원하는대로 작동 시키십시오. 그런 다음 아래쪽/UITableView에 대한 superview 스왑 및 여전히 작동하는지 확인하십시오.

그렇지 않은 경우 테이블에 포함 된 scrollview 문제입니다. 그 문제를 해결할 수 없습니다.

관련 문제