아래쪽 테이블뷰를 하면서
무한스크롤 관련에 대한 내용을 많이봤지만 버그가 많거나 작동이 이상했다.
적용할 클래스에 스크롤뷰 델리게이트를 추가후
UIScrollViewDelegate
로딩중 불러오는걸 방지하기위한 변수를 하나 세팅하고 scrollViewDidEndDecelerating 를 통해서 해결했다.
var isMoreDataDownLoading = false
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
if(scrollView.contentOffset.y != 0){
guard !isMoreDataDownLoading else {return}
activityIndicatior.startAnimating()
UIApplication.shared.beginIgnoringInteractionEvents()
self.isMoreDataDownLoading = true
lodeData()
}
}
해당 이벤트가 최상단일경우와 하단일경우에도 발생하므로 상단에서 발생할때는 작동을 하지 않게 contentOffset.y 값이 0일때는 발생하지 않게 한다.
로딩중일때는 작동을하지 않게하고 해당 내용을 불러왔다.
쉬운방법이 있었는데 API를 역시 다모르니 오래걸릴수밖에 없었다.
func scrollViewDidScroll(_ scrollView: UIScrollView) {
}
'모바일 > IOS' 카테고리의 다른 글
WKWebview에서 자바스크립트 호출 (0) | 2018.04.24 |
---|---|
공유하기 UIActivityViewController (0) | 2018.03.02 |
how to open an URL in Swift (0) | 2018.02.23 |
키보드관련 (0) | 2018.02.09 |
UIAlertController, UIAlertAction (0) | 2018.02.09 |