如何确定用户是否已滚动到UITableView的底部?

She*_*lam 11 iphone cocoa-touch scroll objective-c uitableview

如何确定用户是否已滚动到UITableView的最后一个单元格/底部?

Ben*_*man 28

UITableView继承自UIScrollView,滚动视图公开了一个contentOffset属性(此处为文档).

使用此算法进行一些数学运算来确定contentOffset是否在frame.size.height底部.

更新:这里有一个公式,可以满足您的需求:

if(tableView.contentOffset.y >= (tableView.contentSize.height - tableView.frame.size.height)) {
  //user has scrolled to the bottom
}
Run Code Online (Sandbox Code Playgroud)

  • 将此代码放在scrollViewDidEndDecelerating中,这将确保它只触发一次而不是多次 (6认同)

jrt*_*c27 5

使用NSArray *paths = [tableView indexPathsForVisibleRows];.然后检查该数组中的最后一个对象是否是最终单元格的indexPath.

来源:另一个问题