motionBegan : withEvent : 메소드를 내 View Controller에 넣어 작동 여부를 확인했지만 호출되지 않았습니다. viewWillAppear
에서보기 컨트롤러를 첫 번째 응답자로 설정하고 canBecomeFirstResponder
에서 YES를 반환합니다.흔들기 제스처 이벤트를 앱 대리인에게 전달
이보기 컨트롤러는 분할보기의 마스터 창에 있으므로 장치를 흔들기 전에 첫 번째 응답자가 변경되었을 수 있습니다.
하지만 내 진짜 질문은 모든 모션 이벤트를 응용 프로그램 대리인의 처리기로 전달할 수 있습니까? motionBegan : withEvent : 모든 뷰 컨트롤러의 메서드 또는 모든 첫 번째 응답자의 대리자가 있어야합니까? 이와 같은 이벤트가 UIResponder에 코드를 삽입하지 않고 응답 체인을 흘러가는 방법이 있습니까? 그것은있을 것으로 보이지만, 나는 이것을 어떻게하는지에 대해 내 손가락을 두지 않았다.
UIApplication 클래스와 UIApplicationMain 함수가 어떻게 관련되어 있는지 보여 주셔서 감사합니다. 이것은 내가 익숙하지 않은 영역이며, 이것에 대해 아는 것이 매우 유용하게 보입니다.이 권리를 이해한다면 (그리고 오늘 밤에 시도 할 것입니다), 서브 클래 싱 된 UIApplication에서'sendEvent :', 즉, (shake 동작과 같이) 즉시 처리하고 싶고 정상적인 처리를해야하는 사람들을 위해 [super sendEvent : event]를 호출하고 싶습니다. – Jim
하위 클래스 UIApplication은 완벽하게 작동했습니다. 관심있는 다른 사용자에게는 기기가 사용자의 주머니에있을 때에도 흔들림 이벤트가 발생할 수 있습니다. 몇 가지 추가 필터링이 필요합니다. – Jim