1

我创建了一个自定义单元格PVIssueTypeSectionHeaderCell并将其添加为ContentView标题视图中的子视图,其中包含以下代码:

public override UIView GetViewForHeader(UITableView tableView, nint section)
{
    var cell = (PVIssueTypeSectionHeaderCell)tableView.DequeueReusableCell(HeaderCellKey);
    if(cell == null)
    {
        cell = PVIssueTypeSectionHeaderCell.Create();
    }

    cell.ViewModel = this.GroupedIssueTypesFilter.ElementAt((int)section);

    var headerView = tableView.DequeueReusableHeaderFooterView(HeaderFooterViewKey);

    if (headerView == null)
    {
        headerView = new UITableViewHeaderFooterView(HeaderFooterViewKey);
    }

    headerView.ContentView.AddSubview(cell);

    return headerView;
}

但是自定义单元格的宽度不会自动调整大小,如下图所示。

这是在 iPad 横向模式和 iPhone 纵向模式下:

ipad横向/iphone纵向

当这个处于 iPad 纵向模式时:

ipad人像模式

如何使自定义单元格自动调整其宽度?

4

1 回答 1

0

我终于通过将我的自定义单元格ContentView直接返回到GetViewForHeader.

public override UIView GetViewForHeader(UITableView tableView, nint section)
{
    var cell = (PVIssueTypeSectionHeaderCell)tableView.DequeueReusableCell(HeaderCellKey);
    if(cell == null)
    {
        cell = PVIssueTypeSectionHeaderCell.Create();
    }

    cell.ViewModel = this.GroupedIssueTypesFilter.ElementAt((int)section);

    return cell.ContentView;
}
于 2016-12-13T03:36:30.050 回答