0

我在使用 ios 13.6 及更高版本时遇到问题。

我正在使用 swift 作为编程语言。我有一个带有约束的动态表格视图,其中包含另一个带有自己约束的表格视图。就高度而言,整个屏幕都是动态的。我的问题是内表视图。

内部 tableview 的每一行包含 2 个文本字段和一个删除该特定行的删除按钮。内部表格视图的最后一行包括添加更多按钮,该按钮将具有相同(2 个文本字段和删除按钮)内容的另一行添加到内部表格视图。

我的代码适用于 iOS 13.5 及更低版本。但从 ios 13.6 开始,内部 tableview 只显示前 3 行。

当我调试它时,我意识到 cellForRowAtIndexpath 无论返回什么 numberOfRows 都只调用了 3 次。

我已经在这里呆了两天了。这仅在 13.6 及更高版本中发生。

我认为这可能是由于重用单元格的问题。但即使我跳过重用部分,这个问题仍然存在。

4

1 回答 1

0

我已经更新了我的答案,所以检查一下:尝试将 tableView 的类设置为这个

final class ContentSizedTableView: UITableView {
    override var contentSize:CGSize {
        didSet {
            invalidateIntrinsicContentSize()
        }
    }
    
    override var intrinsicContentSize: CGSize {
        layoutIfNeeded()
        return CGSize(width: UIView.noIntrinsicMetric, height: contentSize.height)
    }
}
于 2020-09-29T10:45:37.600 回答