在 ios 中的 UITableview 中进行分页



我的应用程序中有一个表格视图,我正在将不同类型的单元格加载到其中。我需要将页码作为一、二等传递给服务,并在第一页结束时加载它。对于我正在加载的第一个,计数是 10,之后当滚动结束时,我需要加载下一个。我正在使用 Rest 客户端 Web 服务。这是我的 json 网络服务。

{
    "userId":2,
    "encryptPassword":"50ec0d1b0559dbba51a58bed38aabf7bc6066641",
    "pagination":{
        "lastId":0,
        "resultsPerPage":10
    },
    "status_id":1,
    "request_type_id":2,
    "isAgent":false,
    "searchKey":""
}

好的,假设您正在ping服务器以获取前10个数据并将其显示到tableview现在您必须做什么。

  • 采用全局int变量,例如int lastLoadedId=0;
  • 当您解析数据时,只需将上次加载的 id 存储在变量lastLoadedId即可跟踪您现在的位置。
  • 实现 -(void)scrollViewDidScroll: (UIScrollView*)scrollView 委托方法,以了解您处于底部,并且需要新的下一个数据集。

-

-(void)scrollViewDidScroll: (UIScrollView*)scrollView
{
    float scrollViewHeight = scrollView.frame.size.height;
    float scrollContentSizeHeight = scrollView.contentSize.height;
    float scrollOffset = scrollView.contentOffset.y;
    if (scrollOffset + scrollViewHeight == scrollContentSizeHeight)
    {
        // you are in the end ping server with lastLoadedId for new data
    }
}

-

  • 获取新数据集后,只需将它们附加到tableview底部
  • 即可

UITableView并没有真正的"分页"概念。它确实有您可能使用的部分。例如,您可以指定 10 个部分,每个部分有 10 个单元格(或行)。 每个部分可以具有不同数量的单元格。

每个部分可以有页眉和/或页脚。 您可以将页码放入每个部分的页脚中。

最新更新