如何在iPhone中从同一行刷新tableview?

时间:2013-12-12 07:17:11

标签: iphone

我有3个tableview,有10行,在拉动滚动之后会添加下10行,但是滚动到顶部,我希望它来自之前的同一行。

- (void)insertRowAtBottom {
    int64_t delayInSeconds = 2.0;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    [self moreClicked];
    });
}

2 个答案:

答案 0 :(得分:0)

当拉动发生时,您可以在任何变量中保存表视图的最后一个索引路径,然后使用下面的代码滚动表

NSIndexPath *lastIndexPath = [NSIndexPath indexPathForRow:(numberOfRows - 1) inSection:(numberOfSections - 1)];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:lastIndexPath inSection:0];
[self.tableview scrollToRowAtIndexPath:indexPath 
                 atScrollPosition:UITableViewScrollPositionTop 
                         animated:YES];

对于滚动位置,您可以在列表中包含任何值。

UITableViewScrollPositionNone,
UITableViewScrollPositionTop,
UITableViewScrollPositionMiddle,
UITableViewScrollPositionBottom

答案 1 :(得分:0)

有几种方法可以在tableView中实现“分页”。

一种方法是:假设您的tableView是从对象数组中填充的 - 向下滚动并获取接下来的10个项目 - 只需将新添加的数据附加到数据源阵列,然后调用[self.tableview reloadData];

这将使您确切地保持原状。无需滚动方法或动画。