데이터 행이 포함 된 테이블 뷰와 유사한 뷰를 구현하고 있습니다. 내가 뭘 하려는지 스크롤 후, 각 행은 정확한 위치 집합으로 스냅 그래서 상단과 하단 행의 경계가 완전히 볼 수 있습니다 - 그리고 일반적으로 일어나는대로 손질되지 않습니다. 스크롤이 시작되기 전에 스크롤 대상을 가져 오는 방법이 있습니까? 이 방법으로 최종 y 위치를 수정할 수 있습니다 (예 : 행 높이의 배수).스크롤 한 후 UIScrollView 내용의 쉬프트 위치를 설정/계산하는 방법
1
A
답변
3
저는 몇 주 전에 same question에게 물었습니다.
스크롤 감속의 마지막 Y 오프셋을 결정하는 공개 API가 없습니다. 더 자세히 조사한 후, 감속을 관리하는 방식에 대한 Apple의 공식을 파악할 수 없었습니다. 나는 스크롤링 이벤트에서 데이터를 수집하고, 시작 속도와 얼마나 멀리 감속을 기록했는지, 그리고 그로부터 멈출 가능성이있는 위치에 대한 대략적인 추정치를 기록했습니다.
내 목표는 어디에서 멈출 지 미리 예측하고 감속을 특정 오프셋 이동으로 변환하는 것이 었습니다. 이 기술의 문제점은 일정 기간 동안 항상 scrollRectToVisible:animated:
이 발생하므로 사용자가 플릭 동작에서 기대하는 속도 대신 플릭의 강도에 따라 훨씬 빠르거나 느린 것입니다.
또 다른 선택은 감속을 관찰하고 어떤 임계점까지 느려질 때까지 기다린 후 scrollRectToVisible:animated:
으로 전화를 걸지 만 "올바르게"얻는 것은 어렵습니다.
세 번째 선택 사항은 감속이 완료 될 때까지 기다린 후 원하는 오프셋 배수로 정지했는지 확인한 다음 그렇지 않은 경우 조정하는 것입니다. 나는 당신이 해안에 서서 멈추고 서서 속도를 높이거나 해안을 멈추고 반대 방향으로 갈 때,이 일을 개인적으로 돌 보지 않습니다.
관련 문제
- 1. contentOffset을 설정 한 후 UIScrollView 자동 스크롤
- 2. UIScrollView 내용의 보이는 사각형 얻기
- 3. UIScrollView에서 스크롤 한 후 객체의 위치
- 4. 쉬프트 js 문자열 한 문자
- 5. UIScrollView 스크롤 속도 변경
- 6. uiscrollview contentview 위치를 프레임에 매핑합니까?
- 7. 스크롤 인디케이터 및 uiScrollView 메서드
- 8. 스크롤 패널에서 스크롤 위치를 조정하는 방법
- 9. 스크롤 한 후 [슈퍼 viewDidLoad에]
- 10. UIScrollView 스크롤 문제
- 11. 홀수 스크롤 문제 (UIScrollView)
- 12. UIScrollView 무한 스크롤?
- 13. 취소 UIScrollView 스크롤
- 14. UIScrollView 적절하지 않은 스크롤
- 15. CListCtrl : 스크롤 위치를 유지하는 방법?
- 16. iPhone에서 현재 UIScrollView 스크롤 값을 가져 옵니까?
- 17. UIScrollView contentSize 업데이트 중 스크롤 발생
- 18. UITableView에서 스크롤 한 후 항목이 섞여 있습니다.
- 19. 스크롤 위치를 기준으로 불투명도
- 20. Cocos2d : CCSprite 위치를 드래그 한 후 잠그시겠습니까?
- 21. 목록보기 버튼을 클릭 한 후 위치를 가져
- 22. UIScrollView 제한된 스크롤 가능 영역
- 23. 위로 스크롤 할 UISCrollView 제한
- 24. UIScrollView 가로 스크롤 - 왼쪽 스크롤 사용 안 함
- 25. UIScrollView 내 UIScrollView 내부의 UIScrollView
- 26. 오리엔테이션 변경 후 UIScrollView 위치
- 27. 수직 스크롤 오버 감지 가로 스크롤 스크롤 UIScrollView with button
- 28. uitableview를 다시로드 한 후 테이블 뷰 스크롤
- 29. Rails에서 렌더링 한 후 페이지를 아래로 스크롤
- 30. 스크롤 한 후 iOS UITableView 셀이 잘못로드됩니까?
+1 좋은 답변입니다. iOS5를 사용하여 [scrollViewWillEndDragging : withVelocity : targetContentOffset :'] (http://developer.apple.com/library/IOS/documentation/UIKit/Reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html#)을 사용할 수있는 방법에 대한 답변을 추가했습니다. // apple_ref/doc/uid/TP40006923-CH3-SW15). – Sam