Swift tableView Pagination

后端 未结 14 1244
长情又很酷
长情又很酷 2020-11-28 20:00

I have success working tableview with json parsing codes.But may have 1000 more item so need pagination when scrolling bottom side. I dont know how can i do this my codes un

14条回答
  •  有刺的猬
    2020-11-28 20:36

    The good and efficient way to do it is by using scrollviewDelegate in tableview Just add UIScrollViewDelegate in your viewController In view controller

    //For Pagination
    var isDataLoading:Bool=false
    var pageNo:Int=0
    var limit:Int=20
    var offset:Int=0 //pageNo*limit
    var didEndReached:Bool=false
    viewDidLoad(_){
    tableview.delegate=self //To enable scrollviewdelegate
    }
    

    Override two methods from this delegate

    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
    
            print("scrollViewWillBeginDragging")
            isDataLoading = false
        }
    
    
    
        func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
            print("scrollViewDidEndDecelerating")
        }
        //Pagination
        func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
    
                print("scrollViewDidEndDragging")
                if ((tableView.contentOffset.y + tableView.frame.size.height) >= tableView.contentSize.height)
                {
                    if !isDataLoading{
                        isDataLoading = true
                        self.pageNo=self.pageNo+1
                        self.limit=self.limit+10
                        self.offset=self.limit * self.pageNo
                        loadCallLogData(offset: self.offset, limit: self.limit)
    
                    }
                }
    
    
        }
    

提交回复
热议问题