首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >swift 13.6 - iOS - cellForRowAtIndexPath仅显示三行

swift 13.6 - iOS - cellForRowAtIndexPath仅显示三行
EN

Stack Overflow用户
提问于 2020-09-29 18:34:23
回答 1查看 45关注 0票数 0

我在iOS13.6和更高版本上遇到了问题。

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

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

我的代码适用于iOS 13.5及更低版本。但从iOS13.6开始,内部的表视图只显示前3行。

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

我被困在这里已经两天了。这只在13.6和更高版本中发生。

我认为这可能是因为重用细胞的问题。但是这个问题仍然存在,即使我跳过重用部分。

EN

回答 1

Stack Overflow用户

发布于 2020-09-29 18:45:38

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

代码语言:javascript
复制
final class ContentSizedTableView: UITableView {
    override var contentSize:CGSize {
        didSet {
            invalidateIntrinsicContentSize()
        }
    }
    
    override var intrinsicContentSize: CGSize {
        layoutIfNeeded()
        return CGSize(width: UIView.noIntrinsicMetric, height: contentSize.height)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64117839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档