UITableView内容大小小于预期

时间:2017-09-15 18:35:56

标签: ios swift uitableview uiscrollview contentsize

我有一个内置UITableView的UIScrollView。我已禁用表格视图上的滚动。我使用以下代码将UITableView的高度保持在其内容的高度。

override func updateViewConstraints() {
        self.editView!.editTblHeightCnst.constant = self.editView!.editTbl.contentSize.height + self.editView!.editTbl.contentInset.top + self.editView!.editTbl.contentInset.bottom + self.editView!.editTbl.contentOffset.y
        super.updateViewConstraints()
    }

然而,我到达那里的内容太小了。如果我在内容大小上添加一些或更少的内容,它就可以了。为什么我的内容大小不是我期望的,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

我找到了一个解决方案,在完成所有工作之前写下来:

tableView.estimatedRowHeight = 0;
  

在iOS 11中,表格视图默认使用估计的高度。这意味着   contentSize最初是估计值。如果你需要   要使用contentSize,您需要禁用估计的高度   将3个估计高度属性设置为零:   tableView.estimatedRowHeight = 0   tableView.estimatedSectionHeaderHeight = 0   tableView.estimatedSectionFooterHeight = 0

来源:https://forums.developer.apple.com/thread/81895