如果我在UITableView
属性NSIndexPath.row
上有不同的部分,则会在当前部分中为我提供索引。
是否可以在不考虑部分的情况下获取表格中单元格的绝对索引?
例如:如果一个表有2个部分,第一个部分有10个项目,我想得到第二部分的第一个元素的index = 10.
答案 0 :(得分:3)
我同意一些评论,这可能不是实现无限滚动的最佳方式。回答你原来的问题,你可以在Swift中做这样的事情:
extension UITableView {
func globalIndexPath(for localIndexPath: NSIndexPath) -> Int {
var totalRows = 0
for i in 0..<localIndexPath.section {
totalRows += self.numberOfRowsInSection(i)
}
return totalRows + localIndexPath.row
}
}
答案 1 :(得分:0)
如果要检查是否已到达表格视图的末尾,可以使用以下代码执行此操作:
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
let offset = scrollView.contentOffset
let bounds = scrollView.bounds
let size = scrollView.contentSize
let inset = scrollView.contentInset
let y = CGFloat(offset.y + bounds.size.height - inset.bottom)
let h = CGFloat(size.height)
let reload_distance = CGFloat(-100)
if (y > (h + reload_distance)) {
//Do something heree... The code will reach here once the table view reaches the end.
}
}