뷰 내부에 두 개의 하위 뷰가 있습니다. 프레임은 동일합니다. 뷰에는 스 와이프 왼쪽 제스처 인식기가 있고 B 뷰에는 스 와이프 오른쪽 제스처 인식기가 있습니다. B가 A 뒤에 있기 때문에 왼쪽으로 제스처 할 때만 움직일 수 있습니다. 어떻게 둘 다받을 수 있습니까?다른보기 뒤에 터치 이벤트를받는 방법?
답변
- 아니라, 그 뒤에이다, 때문에 다시보기가 응답하지 않습니다를.
- 두 동작이 동시에 (왼쪽 + 오른쪽으로 동시에) 응답하려면
UIGestureRecognizerDelegate
을 둘 중 하나에 추가하고shouldRecognizeSimultaneouslyWithGestureRecognizer
을 다음과 같이 처리하십시오. - B가 제스처에 응답하도록하려면 A가 부분적으로 숨겨져 있어도 계층 구조를 다시 생각해보십시오. & B (C라고 함)의 세 번째보기를 B와 동일한 크기로 배경에 추가합니다 제스처 인식기.
, 대리인 : 창
// leftGesture
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer
*)otherGestureRecognizer
{
return otherGestureRecognizer == rightGesture;
}
답장을 보내 주셔서 감사합니다.하지만 원하는 것은 아닙니다. 나는 그 글을 편집한다. – ZZB
조회 계층 구조 + 제스처가 손에 들어갑니다. 당신의 그림에 따르면, A는 B 위에 있습니다; B의 숨겨진 부분을 선택자에 응답하려면 B와 동일한 크기 + 크기의 보이지 않는보기 C를 만들고 가장 위에 놓는 것이 가장 좋습니다. – SwiftArchitect
Fix ** this ** question so 그것은 답변과 일치합니다. 이제 고아가 된 질문에 대한 승인 된 응답을 받았습니다. 그런 다음 수정 사항을 ** 다른 ** 게시물로 작성하십시오. – SwiftArchitect
어떻게 둘 모두받을 수 있습니까?
제스처 인식기를 모두 A를보기에 추가하면 A가 앞에 있기 때문에 A를 봅니다. 보기 B에서 오른쪽 슬쩍 제스처를 처리해야하므로보기 B를 오른쪽 슬쩍 제스처 인식기의 대상으로 설정하십시오.
더 나은 옵션은보기 컨트롤러를 두 제스처 인식기의 대상으로 만들고 사용자의 제스처로 수행 할 작업을 분류 할 수 있습니다. 이렇게하면 사용자 인터페이스가 설정되는 방식을 알기 때문에 비즈니스에서 뷰를 가져 오는 데 도움이됩니다. 뷰 컨트롤러의 지침을 따라하면됩니다. 당신이 그 계획을 채택 할 경우, 뷰 컨트롤러는 부분에 다음과 같습니다
- (void)viewDidLoad
{
UISwipeGestureController *leftSwipe = [[UISwipeGestureController alloc] initWithTarget:self action:@selector(leftSwipe:)];
leftSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
UISwipeGestureController *rightSwipe = [[UISwipeGestureController alloc] initWithTarget:self action:@selector(rightSwipe:)];
rightSwipe.direction = UISwipeGestureRecognizerDirectionRight;
[self.viewA addGestureRecognizer:leftSwipe];
[self.viewA addGestureRecognizer:rightSwipe];
}
- (IBAction)leftSwipe:(id)sender
{
[self.viewA doSomething];
}
- (IBAction)rightSwipe:(id)sender
{
[self.viewB doSomethingElse];
}
- 1. 아이폰에서 버튼 클릭 후 터치 이벤트를받는 방법?
- 2. Box2d (자바) 본체에서 터치 이벤트를받는 방법
- 3. 다른보기 - 센차 터치 2
- 4. 다른보기 뒤에 숨어있는보기의 하위보기의 애니메이션
- 5. Piccolo2D에서 키보드 이벤트를받는 방법?
- 6. UILocalNotification 취소 이벤트를받는 방법?
- 7. IWebBrowser2에서 documenCompleted 이벤트를받는 방법?
- 8. QGraphicsItem에서 제스처 이벤트를받는 방법?
- 9. SD 카드 이벤트를받는 방법?
- 10. wxTextCtrl에서 드롭 이벤트를받는 방법?
- 11. 페이스 북 이벤트를받는 방법?
- 12. Android에서 RemObjects 이벤트를받는 방법?
- 13. 보기가 안드로이드 활동의 다른보기 뒤에 숨어 있습니다.
- 14. 다른보기 컨트롤러 (iOS)에 터치 전달
- 15. 리눅스 C! eof 이벤트를받는 방법?
- 16. Python을 사용하여 .NET에서 이벤트를받는 방법
- 17. Android에서 이메일 수신 이벤트를받는 방법
- 18. 앱이 종료되었을 때 이벤트를받는 방법?
- 19. 콘솔에서 키 누르기 이벤트를받는 방법
- 20. sails.js 0.10에서 소켓 이벤트를받는 방법?
- 21. 손가락이 사라졌을 때 이벤트를받는 방법
- 22. 개체의 이벤트를받는 방법? (ce-html)
- 23. Android, WebView에서 리디렉션 이벤트를받는 방법?
- 24. WMI 이벤트를받는 방법은 무엇입니까?
- 25. 다른보기 (RelativeLayout과 같은)를 터치 할 수없는 상태에서 일부보기 만 터치 할 수있는 방법
- 26. 스크롤하는 동안 이벤트를받는 Longlistselector 내용
- 27. Android 용 터치 이벤트 수신 방법 알아보기
- 28. 다른보기
- 29. 게코가 파일을 다운로드하기 전에 이벤트를받는 방법?
- 30. 사용자 이벤트에서 탭 이벤트를받는 방법 페이지
추가 swipegesture의 recongnizer. 스 와이프를 처리해야합니다. –