나는 많은 것들을 모두 포함하고있는 작은 UIButtons
과 큰 것을 가지고 있습니다. 작은 UIButtons
은 모두 UIControlEventTouchDownRepeat
에 반응해야하며 선택기를 호출해야합니다. 큰 UIButton은 UIControlEventTouchDragInside에만 반응해야합니다. 그러나 큰 UIButton
은 모든 터치를 소모하며 UIControlEventTouchDownRepeat
이벤트는 아래의 작은 버튼에 도달하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?아래 UIResponders에 UIEvent를 전송하는 방법
0
A
답변
0
큰 UIButton
이 짧은 버튼보다 작은 버튼을 덮고 있다면 그렇게 할 수 없습니다. 이벤트는 리스폰 더 체인을 통해 전달되며 이벤트가 처리되지 않는 한보기는 해당 이벤트를 슈퍼 뷰로 전달합니다. 보기가 오직 을 가질 수 있기 때문에 당신이하고 싶은 것을 하나의 슈퍼 뷰로 만들 수는 없습니다.
레이아웃을 뒤집을 수 있다면 모든 작은 버튼을 큰 버튼 위에 놓아도 작동 할 수 있습니다. 이벤트가 원하는대로 작동하는지 확실하지 않습니다. 테스트 해봐야합니다. 그러나 작은 버튼으로 처리되지 않는 모든 이벤트는 큰 버튼으로 전달되어야합니다.
UIControlEventTouchDownRepeat
으로 터치 한 지점을 캡처 할 수 있다면 터치 아래에있는 작은 단추를 찾아 해당 이벤트를 전달할 수 있어야합니다. 터치 한 좌표의보기와 그보기의 무언가를 위해 작은 단추 (아마도 큰 단추의 수퍼보기와 동일합니까?)의 수퍼보기를 요청해야합니다.
대체 솔루션을 조사하고 원하는대로 터치를 처리하는 사용자 지정 컨트롤을 만드는 것이 좋습니다.
고맙습니다. 레이아웃을 바꾸어보고 UIControlEventTouchDownRepeat와 다른 이벤트를 다음보기로 전달하고 피드백을 제공합니다. 커스텀 컨트롤에 관해서는 UIResponder를 모든것 위에 설치하고 필요한 모든 조치를 취하는 것을 의미합니까? – pierre