UITableView 中具有动态高度的可伸缩标题视图

Posted

技术标签:

【中文标题】UITableView 中具有动态高度的可伸缩标题视图【英文标题】:Stretchable Header View in UITableView with dynamical height 【发布时间】:2020-02-08 11:31:54 【问题描述】:

如何根据 UILabel 的行来管理 TableViewHeader 的高度?

我关注了this guide,但我无法动态管理标题高度。

在指南中,它固定为固定大小,我尝试将标签的高度添加到该大小,但它不起作用。

我更喜欢使用表格视图而不是滚动视图,因为数据是动态填充的。

我也尝试动态修改标签的约束,但是当滚动时标签的视图被拉伸而不是图像。

【问题讨论】:

【参考方案1】:

将此添加到viewDidLoad

self.tableView.sectionHeaderHeight = UITableViewAutomaticDimension;
self.tableView.estimatedSectionHeaderHeight = 25;

之后,只需为 headerView 提供正确的约束。就是这样!无需实现heightForHeaderInSection

【讨论】:

以上是关于UITableView 中具有动态高度的可伸缩标题视图的主要内容,如果未能解决你的问题,请参考以下文章

具有动态高度的 UITableView 和 UITableViewCell 仅在 WillDisplay 中知道

具有动态高度的自定义视图作为 UITableView 标题 ios xcode

具有静态单元的 UItableView 包含 2 个 UItableview,每个都有具有动态高度的自定义单元

设置 tableviewcell 高度以显示具有动态高度单元格的完整内部/嵌套 uitableview

具有动态单元格高度的 UITableView 的 reloadData() 导致跳跃滚动

实现 UITableView (Slave) 的动态高度,它作为子视图添加到另一个具有动态高度的 UITableView (Master) 的自定义单元格中