상황) 테이블 뷰를 아래로 내리면 다음 페이지의 데이터를 서버에 요청하면서 로딩셀을 보여줍니다.
서버 요청이 빠르게 끝나면 느끼지 못하겠지만
로딩셀이 이상하게 위아래로 튀면서 버벅이는 현상이 나타나는 것이 눈에 띄게 되었고 수정작업에 들어가려고 합니다.
해결 도전 1)
현재 데이터 형태에 따라 셀의 높이가 다른 동적 셀을 그려주고 있습니다.
따라서 셀을 처음 보여줄 때 estimatedRowHeight로 셀의 높이를 초기화한 후에 높이가 데이터에 맞게 정해지게 됩니다.
다음 페이지를 불러올때 순간적으로 처음 예상한 offset값과 달라지면서 reload중 버벅이는 것처럼 보이는 것 같습니다.
아래 블로그를 참고하여 estimatedRowHeight가 기본값으로 무조건 초기화되는 것을 막았습니다.
https://swieeft.github.io/2020/07/20/PagingTableView.html
UITableView Paging 구현하기 - 뀔뀔(swieeft)의 개발새발기
안녕하세요. 장마철에 날씨도 꿉꿉해서 나가기 싫어지는 날씨입니다. 이런 날에는 그냥 집에서 에어컨 바람 맞으면서 가만히 있고 싶지만 일을 해야 한다는 슬픈 현실을 마주하며 포스팅을 시
swieeft.github.io
해결 도전 2)
하지만 튀는 범위가 작아졌지만 여전히 문제점은 존재하였습니다.
순간적으로 여러번 함수가 호출되면서 로딩셀이 사라졌다 나타났다를 반복하는 것이 진동하는 것처럼 보였기에
페이징되는 함수에 Print를 찍어보니 예상이 맞았습니다.
연달아 메소드가 수행되던 것이 문제였고
메소드가 끝난 후 페이징 가능 상태값이 1초동안 변하지 않도록 딜레이를 주어 해결할 수 있었습니다.

'IOS' 카테고리의 다른 글
[iOS] 앱스토어 리젝 사유 - 에이젠 (0) | 2022.11.12 |
---|---|
[iOS] ReactorKit 프로젝트 Drrrible 뜯어보기(2) (1) | 2022.10.13 |
[iOS] 화면전환시 StatusBar 회색으로 깜박임 현상 해결하기 (0) | 2022.10.11 |
[iOS] ReactorKit 프로젝트 Drrrible 뜯어보기(1) (0) | 2022.10.07 |
TextField 테두리 지우기...왜 이걸 못찾니... (0) | 2022.09.27 |
댓글