다른 UIScrollView
안에 하나의 UIScrollView
이 있는데 둘 다 수직으로 스크롤됩니다. 내부 스크롤보기를 스크롤하려고 할 때 접촉이 외부 스크롤보기에 의해 나중에 선택되는 문제가 있습니다. 내부 스크롤 뷰를 독점적으로 처리해야하고 scrollViewDidScroll
을 부모 스크롤 뷰에서 호출하지 않아야합니다.UIScrollView 내부의 UIScrollView - 텍스트 뷰의 경계에서 스크롤 뷰가 닿지 않습니까?
스크롤보기를 서브 클래스 화하고 hitTest:withEvent
을 재정의하고 canCancelContentTouches
을 설정하고 exclusiveTouch
을 설정하면 아무런 효과가 없습니다. scrollViewDidScroll
메서드는 먼저 내부 메서드에서 실행 된 다음 외부 메서드에서 실행됩니다.
첫 번째 스크롤보기 후에 터치를 효과적으로 제거하고 응답자 체인을 바깥 쪽 스크롤보기로 전달하지 않으려면 어떻게해야합니까?
(FYI : 하위 계층에는 하위 뷰 컨트롤러가 있으므로 하위 스크롤 뷰에는 하위 뷰 컨트롤러가 포함되어 있으므로 내부 스크롤 뷰가 포함됨).
좋습니다. 좋은 조언입니다. 내 대안은 뭐니? 내부 스크롤보기는 실제로'UILabel'과 그 안에 다양한 양의 텍스트를 포함하고 있습니다.'UITextView'를 사용해 보았지만 똑같은 문제가있었습니다. – Luke
@lukech'setContentOffset'을 호출하여 수동으로 'UIScrollView'를 스크롤하여 시스템을 트릭 할 수 있습니다. 그러면 스크롤되는 것처럼 보이거나 전체 구조를 다시 생각해 볼 수 있으며 어떻게 작동하지 않을지 생각할 수 있습니다. –
터치가 체인 위로 전달되지 않으면 확실히 작동합니다. 내부 스크롤보기는 상단보기의 맨 아래에 있습니다. 즉, 아래로 스크롤하여 아무 문제없이 스크롤 할 수 있습니다. 상단을지나 위로 스크롤하면 외부 스크롤보기에 영향을줍니다. 나는 다른 애플 리케이션이 이것을 확실히하는 것을 보았다. – Luke