我在stackoverflow和google上搜索此问题后,尝试在UITableView
中实现分页,我得到了很多方法,但是在所有解决方案中都面临着相同的问题,在willDisplay最后一个单元格方法中反复调用,所以分页不起作用在我移到最后一个单元格之前,它会循环加载数据,请自我指导。当获取所有数据时,isGettingMoreData为false。
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if !self.isGettingMoreData && indexPath.row >= (self.datasource.count - 1) {
self.isGettingMoreData = true
loadmore(pagenum)
}
}
我正在像这样使用scrolview,但是通过这种方式,我需要拖到最后才能加载更多我不想这样的方式
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
//Bottom Refresh
if scrollView == table{
if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height)
{
if !isLoading{
isLoading = true
loadmore()
答案 0 :(得分:0)
要在表视图或集合视图中实现分页,可以将代码放在scrollViewDidScroll方法中。这是我使用的示例代码:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if moreResultsAvailable {
if let lastVisibleIndexPath = self.collectionView.indexPathsForVisibleItems.last {
if let dataCount = dataArray.count {
let dif = abs(dataCount - lastVisibleIndexPath.row)
if dif == 0 {
pageNo += 1
fetchMoreData()
}
}
}
}
}