【问题标题】:iOS Auto-resize custom cell width in UITableViewHeaderFooterView.ContentView SubviewiOS自动调整UITableViewHeaderFooterView.ContentView子视图中的自定义单元格宽度
【发布时间】:2016-12-12 11:22:21
【问题描述】:

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

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

【问题讨论】:

    标签: ios iphone ipad xamarin.ios uitableviewsectionheader


    【解决方案1】:

    我终于通过在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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 2021-05-10
      相关资源
      最近更新 更多