2011-04-06 8 views
1


이상한 문제가 있습니다. 서브 뷰로 customcontrols를 가진 Superview가 있습니다. Superview와 Subview에서 모두 GestureRecognizer입니다.
서브 뷰를 탭하면 GestureRecognizer가 호출되고 슈퍼 뷰에서 해당 탭이 호출됩니다.
하지만 하위보기에서 길게 누르면 수퍼 뷰의 GestureRecognizer가 호출됩니다. GestureRecognizers를 동일한 기능에 추가했지만 다른 태도가 있습니다. longtap 내 하위 뷰를 어떻게 해결하는 방법에 대한 응답을 doen't 이유
수퍼Superview의 UILongPressGestureRecognizer가 서브 뷰 대신 호출됩니다.

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapPiece:)]; 
tapGesture.numberOfTapsRequired = 1; 
//contenView is the area where my controls can be 
[self.contentView addGestureRecognizer:tapGesture]; 
[tapGesture release]; 

UILongPressGestureRecognizer *longTapGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTapPiece:)]; 
tapGesture.numberOfTapsRequired = 1; 
[self.contentView addGestureRecognizer:longTapGesture]; 
[longTapGesture release]; 

서브 뷰는

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(selectPiece:)]; 
tapGesture.numberOfTapsRequired = 1; 
[self addGestureRecognizer:tapGesture]; 

UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPiece:)]; 
longPressGesture.numberOfTapsRequired = 1; 
[self addGestureRecognizer:longPressGesture]; 

사람은 말해 줄 수.
는 당신이

+0

해결책을 가지고 independend해야보다 낮은 컨트롤의 시간을 설정할 내가 원하는 것이 아니라이없는 것입니다 나는 컨트롤의 지속 시간을 수퍼 뷰 중 하나보다 낮게 설정하고 싶었습니다. '[longPressGesture setMinimumPressDuration : 0.4]; '그러나 제스쳐 인식기는 독립되어야합니다. – Seega

+0

안녕하세요. pls 참조 : http://stackoverflow.com/questions/25756615/uiimageview-cant-detect-long-press-gesture-in-a-customized-swippable-uitablevie – Vigor

답변

1

해결책을 가지고 감사하지만 내가이 (가) 수퍼 [longPressGesture setMinimumPressDuration:0.4]; 중 하나 그러나 gestureRecognizer이

관련 문제