This question already has answers here:
UITableView infinite scrolling

(9个答案)


4年前关闭。




我需要制作一个动态的UITableView,它在两个方向上都支持无限滚动。我需要使其到达不循环的地方,而是一直朝着正确的方向前进,因为它将处理日期。

tableView将与其他两个UITableViews一起位于UIViewController中;其中一个是静态的,另一个是动态的(默认方式)。这也提出了如何处理我的某些数据源方法的问题。即tableView:NumberOfRowsInSection,因为我拥有的数据点的数量将通过算法生成,因此可能是无限的(例如:在数据显示全部之前,没有定义的数量)

最佳答案

您应该在tableView:NumberOfRowsInSection中返回 INT_MAX ,然后在tableView:cellForRowAtIndexPath:中欺骗一点

假设您想要无限的一周中的某几天。因此,您将拥有一个 @ [@“Monday”,@“Tuesday”,@“Wednesday”,@“Thursday”,@“Friday”,@“Saturday”,@“Sunday”]的数组。 然后,当前行的值为indexPath.row % array.count。这样,您可以将少量数据映射到几乎无数行。

要使无限幻觉发挥作用,您应该在 INT_MAX/2 附近选择一行。

更新:

返回太多行时,tableview可能会触发异常。在这种情况下,请自行指定行数。 100.000行工作正常。

关于iphone - 如何实现UITableView无限滚动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17244635/

10-14 08:37