UITableView使用节数据分页

UITableView使用节数据分页,uitableview,xamarin.ios,Uitableview,Xamarin.ios,我有一个表视图,数据根据状态字段分组。我得到了正确显示的分组数据,但我有一个问题,它与分页 在未分组的UITableView上,我让它查看行,当它达到阈值时,我调用一个事件从API获取更多数据,这种想法似乎不适用于分组数据 我试着四处查看,但在分组数据的分页上找不到任何内容。我认为这与未分组的UITableView几乎相同,在分组的UITableView中,您必须先检查最后一节,然后检查该行是否是该节中的最后一行: public class myDelegate : UITableViewDel

我有一个表视图,数据根据状态字段分组。我得到了正确显示的分组数据,但我有一个问题,它与分页

在未分组的UITableView上,我让它查看行,当它达到阈值时,我调用一个事件从API获取更多数据,这种想法似乎不适用于分组数据


我试着四处查看,但在分组数据的分页上找不到任何内容。

我认为这与未分组的
UITableView
几乎相同,在分组的
UITableView
中,您必须先检查
最后一节
,然后检查该行是否是该节中的
最后一行

public class myDelegate : UITableViewDelegate {

    Dictionary<string, List<TableItem>> indexedTableItems;
    string[] keys;

    public myDelegate(List<TableItem> items) {

        indexedTableItems = new Dictionary<string, List<TableItem>>();
        foreach (var t in items)
        {
            if (indexedTableItems.ContainsKey(t.SubHeading))
            {
                indexedTableItems[t.SubHeading].Add(t);
            }
            else
            {
                indexedTableItems.Add(t.SubHeading, new List<TableItem>() { t });
            }
        }
        keys = indexedTableItems.Keys.ToArray();
    }

    public override void WillDisplay(UITableView tableView, UITableViewCell cell, NSIndexPath indexPath)
    {
        List<TableItem> tabItems = indexedTableItems[keys[indexPath.Section]];

        if (indexPath.Section == keys.Length-1 && indexPath.Row == tabItems.Count-1)
        {
            loadmoreData();
        }
    }

    public void loadmoreData() {

        Console.WriteLine("loadmoreData");
    }
}
公共类myDelegate:UITableViewDelegate{
字典索引表项;
字符串[]键;
公共myDelegate(列表项){
indexedTableItems=新字典();
foreach(项目中的var t)
{
if(索引表项目。集装箱(t子目))
{
指数项目[t.子目].添加(t);
}
其他的
{
添加(t.子目,新列表(){t});
}
}
keys=indexedTableItems.keys.ToArray();
}
public override void WillDisplay(UITableView tableView、UITableView单元格、nsindepath indepath)
{
List tabItems=indexedTableItems[keys[indexPath.Section]];
if(indexath.Section==keys.Length-1&&indexath.Row==tabItems.Count-1)
{
loadmoreData();
}
}
公共void loadmoreData(){
Console.WriteLine(“loadmoreData”);
}
}

我上传了我的示例项目,可以随时问我任何问题。

我的答案对你有用吗?大部分是的,谢谢,这是我缺少的链接