2017-10-23 3 views
1

채팅 응용 프로그램을 작성 중입니다. 처음에는 100 개의 메시지 만 가져오고 사용자가 메시지를 스크롤하여 첫 번째 메시지로 이동하면 다음 100 개의 메시지를 가져 와서 데이터를 다시로드합니다. 내용 오프셋을 설정하여 스크롤 위치를 유지하지만,이 경우 스크롤이 중지되고 사용자가 스크롤하는 것을 느낍니다. 스크롤 속도를 유지하는 방법, 그래서 사용자는 테이블이 다시로드되었는지 알 수 없습니다.uitableViewCell을 삽입하는 동안 스크롤 유지

답변

0

맨 아래에 도착하기 전에해야합니다. 델리게이트 방법 func tableView(UITableView, willDisplay: UITableViewCell, forRowAt: IndexPath)을 사용하여 셀 카운트가 70 % (많든 적든간에 시도해야 함)인지 확인하십시오. 그런 다음 다음 데이터로드를 시작하십시오. 현재로드 중임을 표시하는 것을 잊지 마십시오. 그렇지 않으면로드 콜이 무한대로 끝납니다.

+0

나는 그랬지만 스크롤링이 멈추고 사용자가 스크롤하는 것을 저격하게 느낀다. –

+0

지연은 컨텐츠 오프셋을 명시 적으로 설정하므로 발생할 수 있습니다. 이것을 제거하면 Igor이 제안한 내용을 https://stackoverflow.com/questions/37614934/uitableview-scrolls-to-top-on-reload에서 시도해 볼 수 있습니다. 스크롤 위치는 다시로드 한 후에 그대로 유지해야합니다. – Luzo

관련 문제