我需要将 tableViewHeader 添加到 UITableView,它包含两个标签,所有内容都需要使用自动布局动态调整大小。因此,我在 XIB 中创建了一个标题 View ,使用 systemLayoutSizeFittingSize:
对其进行了测量,并将 View 设置为 tableViewHeader。结果如下所示:
如您所见,带有作者姓名(“Brian Mancini”)的标签在文本上方和下方有额外的空间。我怎样才能摆脱它?
-更新-
这是演示项目:link这是 Interface Builder View 约束的屏幕截图:
最佳答案
最近我在我的项目中解决了与表头 View 自动布局相同的问题。您最好提供有关您当前 IB 配置的更多信息,以便我可以更有效地提供帮助,但下面让我尝试将我的解决方案翻译到您的项目上下文中,看看是否有帮助:
- 将 2 个标签放在一个容器中 (UIView)
- 配置必要的约束以实现您希望的布局(只需执行与之前设置标签与最顶层 View 之间的约束相同的操作即可)
- 配置容器和最顶层 View 之间的必要边距
这样做,表头 View 高度计算就不再需要了。让自动布局为您完成这项工作!
它应该是这样的(黄色框是添加的容器 View ,其他一切保持不变)
另请注意,将自定义 View 分配给表头 View 后,应调用layoutIfNeeded
,否则它不知道调整到哪里;)
请查找固定版本HERE
编码愉快!
关于ios - 动态 UITableView 标题(不是节标题)自动布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32356226/