내보기에는 UIBarButtonItem
두 개의 단추가있는 도구 모음이 있습니다. 제스처 인식기를 구현하여 툴바를 제외하고 뷰의 아무 곳이나 탭하면 선택기가 호출됩니다. 툴바의 막대 버튼 항목을 탭하면 해당 버튼의 액션 메소드를 호출해야합니다. 보기는 UIGestureRecognizerDelegate
프로토콜을 준수하고 다음과 같이 shouldReceiveTouch
방법을 구현iOS에서 툴바에서 제스쳐 인식을 허용하지 않으려면 어떻게해야하나요?
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *) touch {
// Disallow recognition of tap gestures in the toolbar
if ((touch.view == self.sideOneBarButton.customView) &&
(gestureRecognizer == self.tapRecognizer)) {
return NO;
}
return YES;
}
문제는, 내가 도구 모음 버튼을 누를 때 내 문이 실패 할 경우, 그래서 touch.view
는 문서화되지 않은 클래스는 타입 UTToolbarTextButton*
이다 shouldReceiveTouch
은 항상 YES를 반환하고 내 버튼 이벤트는 결코 호출되지 않습니다.
이상적으로, 나는 말하고 싶습니다 : 터치가 툴바의 어느 곳이라면, no를 반환하십시오. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
난 그냥 http://stackoverflow.com/questions/3344341/uibutton-inside-a-view-that-has-a-uitapgesturerecognizer 내가 찾던 답이있는을 발견했다. 감사! – LandedGently
귀하의 질문에 대한 자체 서면 답변 내에서 해당 링크를 추가하고 답변없이 질문을하지 않으려면 가능한 빨리 동의하십시오. – Till