Ios UITableView内容大小小于预期值
我有一个UIScrollView,里面有一个UITableView。我已禁用在表视图上滚动。我使用以下代码将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.
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我不能那样做。在本例中,我需要几个视图,然后是一个高度适合其内容的表视图,所有视图都在滚动视图中。