所以我试图实现的基本上是使用PFQueryTableViewController
无限滚动。到目前为止,我已将paginationEnabled
设置为false,因为我想要隐藏"显示更多"出现的细胞。我还设置了每个要加载的帖子数量" page"是10。
self.paginationEnabled = false
self.objectsPerPage = 10
现在进行无限滚动。我已经设置了以下功能
override func scrollViewDidScroll(scrollView: UIScrollView) {
if (scrollView.contentSize.height - scrollView.contentOffset.y < (self.view.bounds.size.height)) {
if !self.loading {
self.loadNextPage()
}
}
}
问题是当它到达末尾(最后一个数据库行)时,它只是循环前面的tableView单元格。我需要一种方法来检查是否有新的数据库行来获取。有什么想法吗?
答案 0 :(得分:1)
我建议你一个想法:
您的objectsPerPag = 10
。但是当你查询时你会查询11.如果你实际查询返回11个对象,那么这个结果意味着继续有另一个对象。你会继续加载更多。当您返回时,您将删除此结果查询的最后一个对象,您将获得所需的10个项目。
希望我的想法可以帮到你!
答案 1 :(得分:0)
好的,我这样做的方式是我将paginationEnabled设置为true而不是false。
self.paginationEnabled = true
然后我跟进了以下功能
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row + 1 > self.objects?.count {
return 0
}
let height = super.tableView(tableView, heightForRowAtIndexPath: indexPath)
return height
}
这样做是为了检查“加载更多”单元格。如果有10个对象,那么第11个将是“加载更多”单元格。因此indexPath.row + 1
。然后它将其高度设置为0,隐藏它。