2014-02-11 132 views
2

我想知道是否有一种方法来修改UITableView,以便当您滚动过最后一个单元格时,单元格开始重复...并且您可以无限期地滚动以便与相同的单元格一起呈现重复一遍又一遍。理想情况下,这也可以反向运行(如果您向上滚动而不是向下滚动)。无限循环UITableView

我一直没有找到任何关于这个话题的信息,这让我觉得它不是做不到或者很难......但是我想我会问这里是否有人可以帮助我。

+0

你有解决办法吗? – abhi1992

回答

0

实际上这是相当微不足道的。

我已经在过去做了什么达到这样的效果是:

让我们假设你有一个的tableView与ň行数。 如果所有线条的尺寸相同,这将有所帮助。我们假设每个高度为S

您可以实现数据源的方法是这样的:现在

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    return N*1000; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    NSInteger actualRow = indexPath.row % N; 

    // .. do everything using actualRow instead of indexPath.row 

} 

,在您的viewController或者是你已经设置了的tableView与委托和数据源和诸如此类的东西后。补充一点:

[tableView setContentOffset:CGPointMake(0,500*N*S)]; 

基本上你已经创建重复单元的一个非常大的tableView,你让它在中间开始。你将有500个实例通过顶部和底部,所以你一定不会走到尽头。由于您将重复使用单元格,因此不会影响性能。