gpt4 book ai didi

ios - 在 UITableViewCells 上使用动态高度时的 UITableView ContentSize

转载 作者:可可西里 更新时间:2023-11-01 03:25:49 25 4
gpt4 key购买 nike

我已经搜索了很多小时,但没有找到实现它的方法。

我有一个 UITableView,它的 UITableViewCells 使用 AutomaticDimension 作为高度:

tableView.RowHeight = UITableView.AutomaticDimension;
tableView.EstimatedRowHeight = 160f;

问题是当我尝试获取 tableView 的 ContentSize 时。它似乎是根据 EstimatedRowHeight 而不是其行的当前高度计算的。假设,如果有 10 个 Cell,则 ContentSize 的返回值为 160x10。

那么我的问题是是否有办法做到这一点。

非常感谢任何帮助...我使用 Xamarin.iOS,但显然欢迎 Obj-C 和 Swift 的回答:)

最佳答案

我认为@Daniel J 的回答之所以有效,是因为动画完成处理程序的安排方式 - 从表面上看,不能保证表重新加载会在动画完成之前发生。

我认为更好的解决方案是(在 Swift 中,因为我正在使用它):-

func reloadAndResizeTable() {

self.tableView.reloadData()
dispatch_async(dispatch_get_main_queue()) {
self.tableHeightConstraint.constant = self.tableView.contentSize.height
UIView.animateWithDuration(0.4) {
self.view.layoutIfNeeded()
}
}
}

我实际上使用了动画延迟是因为我想要的效果,但它也适用于持续时间为零的情况。每次更新表格内容时我都会调用此函数,它会根据需要进行动画处理和调整大小。

关于ios - 在 UITableViewCells 上使用动态高度时的 UITableView ContentSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35185257/

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