2012-03-13 1 views
12

UISplitViewController과 관련된 iOS 5.1의 새로운 동작은 원하지 않는 결과가있는 UISlider 동작을 가로 채고있는 것으로 보입니다. 이는 왼쪽 및 오른쪽 제스처를 처리하는 컨트롤 및 기타 컨트롤 서페이스에도 적용될 수 있습니다. UISegmentediOS 5.1 UISplitViewController가 스 와이프 제스처를 공중 납치 한 이유는 무엇입니까?

가로 방향으로 UISplitView 인 경우 마스터보기는 일반적으로 숨겨집니다. iOS 5.1부터 화면에서 오른쪽으로 스 와이프하면 기기의 왼쪽에 마스터보기가 나타납니다. 문제는 내 UISlider 컨트롤의 엄지 슬라이딩을 화면 스 와이프로 잘못 해석 한 것입니다. UISlider 엄지 손가락을 오른쪽으로 날카롭게 밀어 주면 마스터 패널이 튀어 나오게됩니다.

내 응용 프로그램에는 마스터보기 위로 윤곽을 그리면서 원하지 않는 부작용 (및 성능 문제)이 있습니다.

이 문제는 Apple 버그로 간주됩니다. 어떤 아이디어를 어떻게 해결할 수 있을까요? UISlider 어떻게 든 제스처를 캡처하여 응답자 체인을 통과시키지 않고 처리 할 수 ​​있습니까?

사전 통찰력에 감사드립니다!

+10

@Dimitris Tavlikos에게 감사드립니다. 나는 여전히 애플이이 버그 (UISlider와 같은 UIControls는이 제스처를 뛰어 넘는 UISplitViewController와 경쟁해서는 안 됨)를 버그라고 소개했지만, 쉬운 해결 방법이있다. 'splitViewController.presentsWithGesture = NO; // SplitView는 오른쪽 스 와이프를 인식하지 못합니다. 갑자기 답을 다른 곳에서 찾을 수있게하는 질문을 게시하는 것은 무엇입니까? – jbbenni

+0

마스터에서 기본 제스처 기능을 유지하려고하지만 슬라이더가 움직일 때만 비활성화하십시오. 'presentWithGesture'를'no'로 설정하면 모든 곳에서 제스처를 사용할 수 없습니다. – Mark13426

+0

그런 일은 없을 것입니다. 제스처가 가로 채기 전에 슬라이더가 이동하지 않습니다. 슬라이더가 움직이기 시작하는 동안 슬라이더가 움직이는 동안에도 도용을 해제 할 수 없습니다. 길기는하지만 처리하기 전에 제스처를 가로 채고 슬라이더를 움직이게 할 것인지를 결정하고 그 경우에 도용을 해제 할 수 있습니다. 하지만 그건 까다 롭습니다. 운영 체제가 제스처에서 첫 번째 균열을 갖기 때문에 이벤트 처리의 계층 구조가 사용자에게 불리하게 작용합니다. – jbbenni

답변

9

Apple은 현재 조사중인 이전에보고 된 버그 (버그 ID # 10170209)의 중복으로 문제를 확인했습니다.

해결 방법은 현재 제대로 작동하는 것 같습니다.

관련 문제