0

UITableView이 내 클래스에 있으며, UITableViewCellUIImageView이라는 사용자 정의가 있습니다.UITableView에서 UIGestureRecognizer가 처리됩니다.

난 지정 방법 (handleSingleTouch:) 취급이 UIImageView의 터치를 검출해야하며 셀이 선택 될 때 -didSelectRowAtIndexPath를 호출 할 필요가있다.

그래서 나는 이런 식으로 내 TableViewUIGestureRecognizer 추가 :

UIGestureRecognizer *GEST=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTouch:)]; 

[self.myTable addGestureRecognizer:GEST]; 
GEST.delegate=self; 
[GEST release]; 

[GEST setCancelsTouchesInView:NO]; 
[GEST setDelaysTouchesEnded:NO]; 

충돌이 있습니다 : UIImageView 터치 할 때마다 tableviewGestureRecognizer 방법을 시작뿐만 아니라 didSelectRowAtIndexPath가 호출됩니다.

전화하지 않고 gestureRecognizerMethod으로 전화하는 방법을 알고있는 사람이 누구입니까? didSelectRowAtIndexPath?

답변

0

제스처 인식기를 테이블이 아닌 이미지에 추가해보십시오. 이 답변보기 https://stackoverflow.com/a/7760402

+0

이것은 멋지고 솔직한 해결책이 될 수 있습니다.하지만 N 항목이로드되면 성능과 메모리를 절약 할 수 있습니다. ?? –

+0

@Denis - * 매우 * 늦게 답장을 드려 죄송합니다. 뷰가 재활용되어 성능 및 메모리가 문제가되지 않아야하므로이 설정은 처음으로 발생합니다 (실수하지 않은 경우). –

0

전체 셀에서 반응하는 터치가 필요하기 때문에 나는 그렇게 할 수있는 방법을 생각할 수 없습니다. 그러나 당신이 할 수있는 일은 tagUIImageView입니다. 그 다음에 의 시작 부분에 그 UIImageViewreturn을 확인하십시오.

+0

tanx for an quick answare! tnx 당신에게 나는 그로스 솔루션을 발견했지만 작동합니다! 때마다 특정 태그 UIImageView 터치 감지 BOOL isImagePressed YES로 설정하고 특정 메서드를 제어하기 위해 didSelectRowAtIndexPath if (! isImagePressed) 조건을 넣습니다. –

+0

someOne이 더 깨끗한 해결책이 있습니까? –