Ios UITableView内容大小小于预期值

Ios UITableView内容大小小于预期值,ios,swift,uitableview,uiscrollview,contentsize,Ios,Swift,Uitableview,Uiscrollview,Contentsize,我有一个UIScrollView,里面有一个UITableView。我已禁用在表视图上滚动。我使用以下代码将UITableView的高度保持在其内容的高度 override func updateViewConstraints() { self.editView!.editTblHeightCnst.constant = self.editView!.editTbl.contentSize.height + self.editView!.editTbl.contentInset.

我有一个UIScrollView,里面有一个UITableView。我已禁用在表视图上滚动。我使用以下代码将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()
    }

但是,我得到的内容太小了。如果我在内容大小上加上两个或更少的单位,它就会起作用。为什么我的内容大小不是我所期望的,我该如何解决这个问题?

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

tableView.estimatedRowHeight = 0;
在iOS 11中,默认情况下,表格视图使用估计高度。这意味着 contentSize与最初的估计值相同。如果你需要 若要使用contentSize,您需要按禁用估计高度 将3个估计高度特性设置为零: tableView.EstimateDrowEight=0 tableView.estimatedSectionHeaderHeight=0 tableView.estimatedSectionFooterHeight=0


来源:

uitableview是scrollview的子类,所以为什么要在scrollview上添加tableview,只需使用tableview,不需要保持其高度,它会根据内容自动增长size@ShobhakarTiwari我不能那样做。在本例中,我需要几个视图,然后是一个高度适合其内容的表视图,所有视图都在滚动视图中。