当tableview在顶部时如何进行分页

时间:2017-06-23 05:37:45

标签: ios uitableview

我想在用户将tableView滚动到顶部时进行分页,因为我使用了此UIScrollView方法。但它会多次调用api

2 个答案:

答案 0 :(得分:1)

ry this

当您的服务器提供数据计数

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    if (indexPath.row == 0) { // indexpath.row == 0 means top cell in tableViewCell
        if (arrNews.count  < totalPageCount  ) { //totalPageCount means total number of data exist in server which is needs in server resopnse
            [self getDataFromServer];
        }
    }
}

当您的服务器未提供数据计数

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    if (indexPath.row == 0) { // indexpath.row == 0 means top cell in tableViewCell
        if (isMoreData) { //isMoreData is bolean you need to disable while not data found from server
            [self getDataFromServer];
        }
    }
}

答案 1 :(得分:0)

您可以使用scrollViewDidScroll

中的contentOffset进行检查

如果内容偏移y位置<= 20并且您没有到达最后一个项目,请调用您的加载更多服务(分页记录)

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView.contentOffset.y <= 20 && !reachedEndOfItems) {
        currentOffset = self.wallProfileTableView.contentOffset;
        [self loadMoreMessage];
    }
}

它类似于我们在向下滚动时加载聊天