我有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];
});
}
答案 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];
这将使您确切地保持原状。无需滚动方法或动画。