iOS - 在不刷新所有数据的情况下添加项目结尾

时间:2014-11-21 15:54:37

标签: ios uitableview

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat height = scrollView.frame.size.height;

    CGFloat contentYoffset = scrollView.contentOffset.y;

    CGFloat distanceFromBottom = scrollView.contentSize.height - contentYoffset;

    if(distanceFromBottom < height)
    {
        //END of table
    }
}

我可以在表格结束时检测到表格的结尾我想要调用新的Web服务并添加新的N项目我该怎么做(我不想再次加载所有数据)

2 个答案:

答案 0 :(得分:0)

您可以使用insertRowsAtIndexPaths:inSection:

[self.myTableView insertRowsAtIndexPaths:myArrayOfIndexPaths withRowAnimation:UITableViewRowAnimationFade];

确保您的数据源包含新数据。您的表视图将从常用方法中提取其数据。对于您要执行的操作,您可能希望调用一个方法来加载更多项,并在它返回之前,将n行插入到表视图的末尾。

答案 1 :(得分:0)

用于插入

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation: (UITableViewRowAnimation)animation;

删除

- (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation: (UITableViewRowAnimation)animation;

但您必须确保您的数据源事先反映更改。将为指定的indexPaths调用cellForRowAtIndexPath方法