스크롤뷰로 컨텐츠 페이지 로드시 현재 스크롤되고 있는 위치가 현재컨텐츠의 최하단이면
scrollView.contentSize.height - scrollView.bounds.size.height 해주면
scrollView.contentOffset.y 값의 최하단 값과 동일하다.
** 이 값으로 다름 페이지 로딩을 하면됨.
if scrollView.contentOffset.y == scrollView.contentSize.height - scrollView.bounds.size.height {
// 스크롤 끝까지 내려간 상태
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
// 스크롤바의 스크롤 마지막 y값 위치 계산
let bottomOffsetY = scrollView.contentSize.height - scrollView.bounds.size.height
// 스크롤바가 하단 400px 까지 왔을 경우 페이지 추가 로딩
if scrollView.contentOffset.y + 400 > bottomOffsetY {
let totalCount = replayListViewModel.getContentsTotalCount()
let currentCount = replayListViewModel.replayContents.count
if viewModel.isLoading == false && totalCount > currentCount {
// 다음페이지 데이터 로딩
viewModel.fetchModel(offset: xxxx)
}
}
}
'Swift > UIScrollView' 카테고리의 다른 글
[SWIFT]UIScrollView 에 UITextField 사용시 키보드 만큼 스크롤 올리기 (0) | 2023.07.14 |
---|---|
[SWIFT]UIScrollView 에서 키보드 노출시 키보드 내리기 (0) | 2023.07.14 |
[SWIFT]스크롤뷰 이미지 Zoom In/Out 코드베이스 (0) | 2023.06.20 |
[SWIFT]ScrollView 상단/하단 이동 (0) | 2023.06.09 |