2009-10-29 5 views
0

사용자 정의 셀이있는 테이블보기가 있으며 해당 셀에서 스 와이프를 인식합니다. 그 잘 작동하지만 테이블보기 정상적으로 작동하고 싶습니다. 테이블보기에서 어디에서든지 탭하면 셀을 선택하여 작업을 수행 할 수 있습니다. tableView : didSelectRowAtIndexPath :iPhone의 테이블보기에서 일반 탭을 인식합니다.

팁이나 아이디어?

감사합니다.

답변

1

UITableView 셀 하위 클래스에서 다양한 UIResponder 메서드를 구현한다고 가정합니다. 스택의 나머지 부분에서 이벤트를 계속 처리하려면 다음을 전달하면됩니다.

- (void) touchEnded:(UITouch *)touch withEvent:(UIEvent *)event { 
    //do something with touch 
    //... 

    //pass the event to super which cause it to continue along the chain as 
    //though you didn't do anything special with it 
    [super touchEnded:touch withEvent:event]; 
} 
+0

나는 해결책을 찾았지만 아직 아무 것도 시도하지 않았습니다. 나는 또한 셀의 터치를 시도했습니다. 결과, 실제로는 –

+0

정확한 세부 정보는 계층 구조의 정확한 레이아웃에 따라 다릅니다. 나는 당신이 적절한 대상으로 터치를 직접 전달한다고 가정하지만, 단지 그것을 당신에게 다시 전달할 수도 있습니다. 셀 내부에서 -selectRowAtIndexPath : animatedscrollPosition : scrollPosition :을 수동으로 호출해야 할 수도 있습니다. –

+0

Apple의 설명서를 자세히 읽은 후에는 제대로 작동합니다. 원래의 솔루션은 좋았지 만 touchEnded가 아닌 super 객체에 대한 호출을 추가해야했습니다. 이러한 호출을 touchBegan에 추가하면 toucheMoved 및 touchCancelled tableview가 예상대로 작동하기 시작했습니다. 고맙습니다. –

관련 문제