在具有自动高度的UITableViewCell内添加UITableView

时间:2019-03-04 12:02:27

标签: ios objective-c

我想在UITableViewCell中显示UITableView。表格视图单元格内的表格视图可能具有该单元格的随机计数,因此单元格高度应为表格视图内容大小高度

我添加了约束,这是我在索引路径处的高度

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewAutomaticDimension;
}

1 个答案:

答案 0 :(得分:0)

在您的InnerCellModel中创建方法。

-(CGFloat)cellHeight {
    CGFloat height = [self makeSomeMethodToCalculateHeightOfText:self.title withFont: yourLabelFont, andWidth: yourLabelWidth];
    height += someMarginIfAvailable;
    return height;
}

然后迭代数组,并在单个变量中添加每个索引的高度,然后将其分配给您的innerTableViewHeightConstraint

在内部UITableView上设置一些高度约束,然后在cellForRowAt indexPath之后的[innerTableView reload]中设置

innerTableViewHeightConstraint.constant = innerTableView.contentSize.height;
// Or You can even calculate your inner height and then set it to your tableView.
innerTableViewHeightConstraint.constant = numberOfCells * innerCellHeight;
[cell layoutIfNeeded];
  

P.S:您的单元格高度必须为UITableViewAutomaticDimension;   内部TableView还必须具有顶部,左侧,右侧,底部和高度约束。