GestureRecogniser를 사용하여 기본보기로 전달 전달


0

많은 형제보기 (버튼)를 덮는 오버레이보기가 있습니다.

는 여기이 대답을 사용하여 오버레이보기 아래에있는 형제보기로 감동을 전달하기 위해 노력하고 있어요 : 내 오버레이보기 GestureRecognisers을 가지고 있기 때문에 https://stackoverflow.com/a/4847478

이입니다.

오버레이보기는 제스처 (버튼 위에 제스처 포함)를 인식하고 모든 터치 이벤트를 그 아래에있는 형제보기로 전달할 수 있기를 바랍니다.

이벤트가 전달되었지만 터치가 오버레이보기에 의해 소유 되었기 때문에 단추 클릭이 여전히 트리거되지 않음을 발견했습니다.

터치의 소유권을 변경할 수 있다고 생각하지 않습니다.

이벤트가 실제로 전달되고있는 경우 버튼 클릭을 등록하려면 어떻게해야합니까?

  0

이 버튼을 추가 :이 뜻은 당신이 허용 대답을 확인할 수 있습니다 자세한 내용 들어 체인 응답자 이해하는 데 도움</p> <pre><code>-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event { for (UIView *view in self.subviews) { if (!view.hidden &amp;&amp; view.alpha &gt; 0 &amp;&amp; view.userInteractionEnabled &amp;&amp; [view pointInside:[self convertPoint:point toView:view] withEvent:event]) return YES; } return NO; } </code></pre> <p>희망? 오버레이 또는 오버레이 아래에 있습니까? 08 mar. 172017-03-08 09:57:26

  0

@CodeChanger는 오버레이 아래에 있습니다. (투명) 오버레이가 버튼을 덮습니다. 08 mar. 172017-03-08 09:59:52

  0

오버레이가 투명합니까? 오버레이가 필요 없지만 버튼의 수퍼 뷰에 제스처 인식기를 추가하려는 경우 다른 인식자를 동시에 인식 자에게 허용하도록 대리자를 구현할 수 있습니다. 이 소리가 해결책이 될 경우 알려 주시면보다 자세한 해결책을 제공 할 수 있습니까? 08 mar. 172017-03-08 11:44:40

  0

@GeorgeGreen 네, 오버레이보기가 필요하지 않습니다. SuperView에서 모든 제스처를 인식하고 제스처가 인식 되더라도 버튼을 터치해야합니다. 단추의 TouchUpInside 이벤트에 IBActions를 연결했습니다. 지금 버튼이 touchesBegan, touchesMoved 등의 호출을 받고 있지만 TouchUpInside 이벤트가 발생하지 않습니다. TouchUpInside의 사용자 정의 감지 기능을 구현하고 싶지 않습니다. 08 mar. 172017-03-08 22:28:44

  0

@ignoramus 흥미롭게도, 오버레이를 제거하고 제스처 인식기를 수퍼 뷰로 이동 한 경우 다른 컨트롤과 함께 볼을 재생해야합니다. 문제의 원인이되는 컨트롤러 코드를 게시 할 수 있습니까?이 코드를 정렬 할 수 있어야합니까? 08 mar. 172017-03-08 22:34:21

  0

@GeorgeGreen 네, 작동합니다. 고마워요! 답으로 의견을 게시하여 받아 들일 수 있습니까? 09 mar. 172017-03-09 00:18:18

0

알파 값이 0이면 응답자를 다음 단계로 전달해야합니다. 그러면 응답자 메시지가 다음보기로 전달되며 이에 따라 버튼을 터치하거나 클릭 할 수 있습니다.

재정 pointInside: 컨테이너보기의 방법과 감동을보기 알파는 다음 응답에 전달 메시지에 대한 대가 NO을 통과보다는 0되어 있는지 확인합니다. 이 같은

: How can I click a button behind a transparent UIView?

  0

터치가 버튼에 있는지 여부에 관계없이 오버레이보기에서 제스처를 인식해야하므로 불행히도 작동하지 않습니다. 08 mar. 172017-03-08 10:20:28

  0

코드에서 위의 사항을 시도해 보셨습니까? 08 mar. 172017-03-08 10:22:48

  0

죄송합니다. 나는 그것을 잘못 읽었습니다. 08 mar. 172017-03-08 10:26:19

  0

하지만 귀하의 질문 당 당신은 단추에 제스처 인식기 이벤트가 아닌 단추 이벤트가 필요합니까? 08 mar. 172017-03-08 10:26:33

  0

그래, 방금 해봤는데 작동하지 않습니다.버튼을 포함하여 모든 오버레이보기에서 제스처 인식기 이벤트가 필요합니다. 나는 이것을 명확히하기 위해 질문을 편집했다. 08 mar. 172017-03-08 10:37:45

  0

그래,이 경우 제스처 인식기의 버튼을 감지 할 수있는 한 가지 더 많은 일을 할 수 있습니다.하지만이를 위해 일부 코드를 게시하면 버튼과 제스처를 어떻게 사용하고 있는지 알 수 있습니다. 08 mar. 172017-03-08 10:51:08