본문 바로가기
모바일/IOS

무한스크롤 infinite scroll

by 죠부니 2018. 2. 27.
반응형

아래쪽 테이블뷰를 하면서

무한스크롤 관련에 대한 내용을 많이봤지만 버그가 많거나 작동이 이상했다.


적용할 클래스에 스크롤뷰 델리게이트를 추가후

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) {

        

    }

https://developer.apple.com/documentation/uikit/uiscrollviewdelegate/1619417-scrollviewdidenddecelerating

반응형

'모바일 > 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