gpt4 book ai didi

swift - 获取tableView内容的全高

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

我面临以下问题:

  • 我有容器 View ,其中包含 tableView,tableView 包含单元格和页脚
  • 在页脚中,我有 UIView,它包含另一个带有单元格的 tableView(这在 PageBoy 中是不透明的,因为我必须根据 tableView 内容的日期更改选项卡)

我想达到什么目的?

我想调整 tableView 页脚的大小以适应它的 tableView 的内容。

我正在做什么来实现这个目标?

我做了一些研究,我开发了ResizableTableView,代码如下:

class ResizableTableView: UITableView {
override var intrinsicContentSize: CGSize {
layoutIfNeeded()
return contentSize
}
func reloadData(with completion: @escaping () -> ()) {
animator.animate(withDuration: 0, options: [], animations: {
self.reloadData()
self.invalidateIntrinsicContentSize()
}, completion: { _ in
completion()
})
}
}

问题是第一次加载 View 时未正确调整大小 - tableView contentSize 没有给我全高,内容被剪切。

也许,任何人都会遇到将 tableView 的高度与其内容匹配的类似问题。我已经阅读了很多类似的问题,但没有一个与我的问题相匹配。

我试图重新加载 tableView 数据,然后通过委托(delegate)告诉我的 viewController 调整 tableView 页脚的大小,但这在第一次加载时也失败了。单元格正在通过自动布局调整大小 - 这可能是此实现中的一个关键问题。

最佳答案

在 tableView 的页脚中包含一个新的 TableView 是不好的。与其添加页脚 View ,不如添加新部分并使用自定义单元格。

通过这种方式,即使您不必处理具有动态高度的第二部分(表格 View 的页脚)的单元格。

关于swift - 获取tableView内容的全高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55462734/

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