작은 UIView
을 만들었습니다. 두 개의 UIButton
이 포함되어 있습니다. 보기는 UITapGesture
이벤트에 응답합니다. 버튼은 TouchUpInside
에 응답해야하지만 버튼을 누르면 응답자가 기본보기가되고 탭 제스처 선택자가 트리거됩니다. 조언이나 제안을 찾고 있습니다.UIButton 터치 이벤트가 기본보기로 넘어갑니다.
답변
뷰 계층 구조에서 뷰의 정렬 순서는 어떻게됩니까? 또한 IB에서 인터페이스를 만들고 있습니까? 연결을 올바르게 연결하면 문제가되지 않습니다.
이것은 내가 한 일입니다. – Kyle
각 UIView에는 'exclusiveTouch'속성이 있습니다. YES로 설정하면보기가 응답 체인에 터치를 전달하지 않습니다. UIButtons에서이 속성을 설정해보고 차이가 있는지 확인하십시오.
나는 이것을 줄 것이다. – Kyle
이 디자인의 문제점은 단추를 다른 단추에 포함하는 것과 비슷하다는 것입니다. 유효한 이유가있을 수 있지만 이벤트 흐름에 더주의해야합니다.
제스처 인식기가 서브 뷰 (사례의 두 개의 버튼)에 도달하기 전에 제스처 인식기가 닿아 발생합니다. UIGestureRecognizerDelegate 프로토콜, 즉 gestureRecognizer:shouldReceiveTouch:
메서드를 구현하고 터치가 두 개의 버튼 중 하나에 있으면 NO를 반환해야합니다. 이렇게하면 주황색보기가 단추를 의도 한 채로 넘어지는 것을 막을 수 있으며 단추가 예상대로 작동하기 시작합니다.
나는이 생각하지만 터치에 응답하는보기 애니메이션 (단추에 파란색 플래시) 단추 응답을 보여도 기본보기입니다. – Kyle
당신은 오렌지보기에서 탭 제스처에 응답하는 방법을 수정할 수 있습니다
-(void) handleTapFrom:(UITapGestureRecognizer*) recognizer {
CGPoint location = [recognizer locationInView:orangeView];
UIView *hitView = [orangeView hitTest:location withEvent:nil];
if ([hitView isKindOfClass:[UIButton class]]) {
return;
}
//code that handle orange view tap
...
}
당신이있는 UIButton을 만지면 이런 식으로, 탭이 기본보기에 의해 무시됩니다.
이 질문을 확인하십시오. (모든 탭을 highjacking에서 tabrecognizer을 방지하고 대리인 등을 구현하는 데 필요하지 않습니다)
정답은 found here입니다. 나는이 대답에 대한 리드를 this post 통해 얻었습니다.
tapRecognizer.cancelsTouchesInView = NO;
나는에 대한 UIButtons으로 트레이딩을하고 결국 한 무엇
- 1. UIButton 터치 감지
- 2. UIButton 터치 앤 홀드
- 3. 터치 다운시 UIButton 선택 해제
- 4. UIButton - 터치 앤 홀드, 탭
- 5. 터치 이벤트가 작동하지 않습니다.
- 6. UIWebview에서 터치 이벤트가 감지 되었습니까?
- 7. 터치 이벤트가 작동하지 않습니까? UImageview에서?
- 8. 터치 후 UIButton 유지 카운터가 증가합니다.
- 9. 단추를 누를 때 UIButton 아래에있는 UIVutton에서 터치 감지
- 10. 클릭 이벤트를 기본보기로 전달
- 11. 하위보기 모든 창에서 터치 이벤트가 발생합니다.
- 12. UIScrollView 내의 UIView에서 터치 이벤트가 작동하지 않습니다.
- 13. 터치 이벤트가 메서드에 접근하지 못하고 있습니까?
- 14. initWithCoder 터치 이벤트가 끊어졌습니다 (touchBegan, touchMoved 등)
- 15. 새로운보기를 푸시 할 때 터치 이벤트가 누락되었습니다.
- 16. 앱에서 터치 이벤트가 실행되는 경우 iOS
- 17. 손가락을 따르는 UIButton 또는 UIImage보기를 회전하는 방법 (길게 터치)?
- 18. iPhone - 사용자 정의 셀에서 UIButton 터치 이벤트 잡기
- 19. AVAudioPlayer UIButton - 두 번째 터치 스톱 현재 오디오 재생
- 20. 시작 이미지에서 기본보기로 부드럽게 전환
- 21. 폼 데이터를 기본보기로 다시 전달
- 22. uiimagepicker를 응용 프로그램의 기본보기로 사용하십시오.
- 23. UIView를 통해 UIScrollView가 작동하지 않는 상태로 넘어갑니다.
- 24. 3 개의 이미지가 jQuery를 사용하여 애니메이션으로 넘어갑니다.
- 25. UITableViewController 내부 UIButton
- 26. UIButton TouchUpInside Touch Location
- 27. UILabel의 하위 뷰로 UIButton
- 28. 내 UIImageView 하위 클래스에서 터치 이벤트가 수신되지 않는 이유는 무엇입니까?
- 29. iPhone SDK UIScrollView가 이동 한 후에 터치 이벤트가 발생하지 않습니다.
- 30. 조작 및 터치 이벤트가 발생하지 않지만 마우스 이벤트는 수행합니까?
을 "탭 인식기를 방지하는 모든 탭을 잡을 수있는 유일한 하나가 될 수있는"짧은 사용에
첨부 된 탭 제스처 인식기가있는 UIView. 이것은 내가 버튼이 동작 할 것으로 기대했던 방식대로 작동하는 것 같습니다. – Kyle