gpt4 book ai didi

ios - 使用自动布局时 UITableView 内容大小

转载 作者:IT王子 更新时间:2023-10-29 07:56:43 25 4
gpt4 key购买 nike

我想计算我的 UITableView 的内容大小。我正在使用高度为 UITableViewAutomaticDimension 的自动布局。

尝试在重新加载 tableview 后获取 [UITableView contentsize],在这种情况下,高度是根据 estimatedRowHeight 计算的。

self.tableView.estimatedRowHeight = 50;
self.tableView.rowHeight = UITableViewAutomaticDimension;

委托(delegate) -

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

尝试获取内容大小并将其分配给高度限制。

[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;

有什么建议吗?提前致谢。

编辑:

最后我通过一些调整解决了我的问题。在重新加载表上的数据之前,我将 tableview 高度更改为最大(在我的例子中是最大 300),因此 tableview 有空间来调整所有单元格的大小。

self.tableHeightConstraint.constant = 300;
[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;

感谢您的帮助。

最佳答案

最后我通过一些调整解决了我的问题。在重新加载表上的数据之前,我将 TableView 高度更改为最大值(Objective-C:CGFLOAT_MAX,Swift:CGFloat.greatestFiniteMagnitude),因此 TableView 有空间来调整所有单元格的大小。

objective-C :

self.tableHeightConstraint.constant = CGFLOAT_MAX;
[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;

swift :

tableHeightConstraint.constant = CGFloat.greatestFiniteMagnitude
tableView.reloadData()
tableView.layoutIfNeeded()
tableHeightConstraint.constant = contentTableView.contentSize.height

发布此内容,以便对其他人有所帮助。

关于ios - 使用自动布局时 UITableView 内容大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36002741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com