繁体   English   中英

iOS在UITableViewHeaderFooterView.ContentView子视图中自动调整自定义单元格宽度

[英]iOS Auto-resize custom cell width in UITableViewHeaderFooterView.ContentView Subview

我创建了一个自定义单元格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肖像模式

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

我终于通过直接在GetViewForHeader返回自定义单元格的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);

    return cell.ContentView;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM