I am using pagination for tableview, for that I have created spinner for tableview footer and calling that in scrollViewDidEndDragging
but the spinner is not showing.. while pagination
code: with this code pagination is working but createSpinnerFooter
is calling but not showing, why? where am i wrong. please guide me
var currentPageNumberVM: Int = 1
private func createSpinnerFooter() -> UIView {
let footerView = UIView(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: 100))
let spinner = UIActivityIndicatorView()
spinner.center = footerView.center
footerView.addSubview(spinner)
spinner.startAnimating()
return footerView
}
//and calling here
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
//Bottom Refresh
if scrollView == resultTableView{
if (((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height))
//if scrollView.contentOffset.y > (resultTableView.contentSize.height-100-scrollView.frame.size.height)
{
resultTableView.tableFooterView = createSpinnerFooter()
print("refresh called")
self.refresh()
}
}
}
@objc func refresh() {
if currentPageNumberVM <= searchData?.result?.jobs?.last_page ?? 1 {
jobSearchResultServiceCall()//service call
} else {
self.view.makeToast("No more data to show")
resultTableView.tableFooterView = nil
}
}
Edit: if i move resultTableView.tableFooterView = nil
to else then issue is createSpinnerFooter
is showing but once its load then cells not reloading i mean pagination is not working until i scroll again, why? where is the issue.