【发布时间】:2022-02-12 02:10:27
【问题描述】:
我正在为 tableview 使用分页,因为我已经为 tableview 页脚创建了微调器并在 scrollViewDidEndDragging 中调用它,但微调器没有显示.. 分页时
代码:使用此代码分页可以工作,但createSpinnerFooter 正在调用但没有显示,为什么?我哪里错了。请指导我
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
}
}
编辑:如果我将 resultTableView.tableFooterView = nil 移动到 else 则问题是 createSpinnerFooter 正在显示,但是一旦加载然后单元格不重新加载,我的意思是在我再次滚动之前分页不起作用,为什么?问题出在哪里。
【问题讨论】:
标签: swift uitableview pagination uiscrollview uiactivityindicatorview