전체 테이블을 빈 항목으로 채운 다음 사용자가 테이블 스크롤을 시작할 때 페이지 매김을 사용하여 백그라운드로로드하는 페이지가 매겨진 REST 서비스 용 클라이언트를 구현했습니다.reloadRowsAtIndexPaths가 사용자 입력을 차단하지 못하게하려면 어떻게해야합니까?
이 약간의 세부를 제외하고 잘 작동하는 것 같다 : (UIKit
이 너무 필요하기 때문에) 나는 메인 UI 스레드에서 reloadRowsAtIndexPaths:
를 호출하고, 나는 애니메이션이 때때로 나를 입력 접촉을 상실하게 느낄 .
사용자가 목록을 스크롤하기 시작하고 항목이로드되기 시작합니다. 때때로 사용자가 화면을 다시 만지면서 동시에 다시로드 애니메이션이 발생하고이 터치가 인식되지 않는 경우가 있습니다. 그런 다음 스크롤이 계속되지 않고 중지됩니다. 항상 발생하는 것은 아니며 사용자가 드문 경우입니다 (사용자가 아래로 스크롤하기 전에 각 행의 결과를 읽어야합니다).하지만 끝까지 나를 귀찮게합니다.
대부분의 애니메이션을 블록으로 만들고 있는데 UIViewAnimationOptionAllowUserInteraction
플래그가 도움이됩니다. reloadRowsAtIndexPaths
의 블록 버전이있어 리로드 애니메이션이 스크롤과 사용자 상호 작용을 차단하지 않습니까?
당신이 항목을 다시로드하는 데 사용하는 코드를 게재 할 수 있습니까? 별도의 스레드에서 REST 호출을 수행하고 있습니까? 로딩이 시작되고 있음을 사용자에게 어떻게 나타내 보입니까? –