UITableView 内容大小小于预期
Posted
技术标签:
【中文标题】UITableView 内容大小小于预期【英文标题】:UITableView Content Size Smaller than Expected 【发布时间】:2017-09-15 18:35:56 【问题描述】:我有一个 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()
但是,我得到的内容尺寸太小了。如果我在内容大小上添加几百或更少,它就可以工作。为什么我的内容大小不符合我的预期,我该如何解决?
【问题讨论】:
uitableview 是 scrollview 的子类,所以为什么你在 scrollview 上添加 tableview ,只需使用 tableview 而不需要保持它的高度它会根据内容大小自动增长 @ShobhakarTiwari 我不能那样做。在这种情况下,我需要一些视图,然后是一个高度适合其内容的表格视图,所有这些都在滚动视图中。 【参考方案1】:我找到了一个解决方案,在做所有工作之前写下这个:
tableView.estimatedRowHeight = 0;
在 ios 11 中,表格视图默认使用估计高度。这表示 contentSize 与最初的估计值一样。如果你需要 要使用 contentSize,您需要通过以下方式禁用估计高度 将 3 个估计的高度属性设置为零: tableView.estimatedRowHeight = 0 tableView.estimatedSectionHeaderHeight = 0 tableView.estimatedSectionFooterHeight = 0
来源:https://forums.developer.apple.com/thread/81895
【讨论】:
以上是关于UITableView 内容大小小于预期的主要内容,如果未能解决你的问题,请参考以下文章