2011-09-15 4 views
3

제목과 마찬가지로 UIView 서브 클래 싱에 UITapGR이 추가되었습니다.UIView 위에 UITapGestureRecognizer가있는 UIButton이 작동하지 않습니다.

이 클래스의 하위 클래스에서는보기 상단에 UIButton 몇 개를 배치하고 있습니다. UIButton은 어떤 접촉도받지 않습니다. 내가 [[tapGR view] class]을 보려고했을 때 그것은 UIButton의 부모님보기이었다. NO에 setCancelsTouchesInView을 부르는 것도 도움이되지 않습니다.

아이디어가 있으십니까?

+0

어떻게 하나의 탭을 사용하는 방법에 대한 .. .numberOfTapsRequired = 1 및 다른 인식기와 동시에 사용할 각 단추에 대해 단추의 프레임 등을 사용합니다. – user523234

+0

그것이 [여기에 링크 정보를 입력] 발견 [1] [1] : http://stackoverflow.com/questions/3344341/uibutton-inside-a-view-that-has-a-uitapgesturerecognizer – Mapedd

답변

0

당신이

.userInteractionEnabled = NO 
+0

그래,하지만 난 stil 내가 UITapGestureRecognizer를 사용하려는 경우 .setUserInteractionEnabled = 아니오 UITapGR – Mapedd

+0

에서 이벤트를받을 수 없지만 인식기가 UIVIew에 설정되어 있습니까? 그래서 당신이 버튼에서 상호 작용을 비활성화해야합니다, 또는 어쩌면 내가 뭔가를 놓치고있어 – Fredrik

+0

경우 UIView 그것에 UITapGR 있고 UIView 맨 위에 UIButton 있어요, 나는 두 가지를 사용해야합니다. – Mapedd

3

당신은 UIButton에 대한 터치 이벤트를 무시하고이 코드를 사용할 수 있습니다 수있는 무언가를 클릭 할 수있게하려면 :

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { 
    if ([touch.view isKindOfClass:[UIButton class]]){ 
     return NO; 
    } 
    return YES; 
} 
관련 문제