自动调整UITableViewCell的内部UITableView

时间:2018-10-17 13:28:18

标签: swift uitableview autosize

如果有人能帮助我为我解决以下问题,我会很高兴。

我正在尝试使用不同的动态单元格构建UITableViewController。 任何单元格的高度都不同,因此我确实从UITableViewDelegate覆盖了heightForRow并返回了UITableViewAutomaticDimension。

到那时,对于我添加到UITableView的每个单元,一切正常,直到我尝试添加以下附件: Cell example

在运行时,将调用以下单元格的heightForRow,内部UITableView的高度为0,因为UITableViewAutomaticDimension不考虑其高度。

我的问题是,来自外部的heightForRow如何考虑具有不同动态行高的内部UITableView?

感谢帮助:)

1 个答案:

答案 0 :(得分:0)

您可以使用 UITableViewDelegate 方法获得高度支持

// Variable height support

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;

您可以计算内部工作台高度并在此处返回:

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
       // check if table view is the outertable view in case you have the same delegate
       // let customCellHeight = number of subCells * heightOfSubCell + padding;
    return customCellHeight;    
}