【问题标题】:Dynamic UITableView header (not section header) auto layout problems动态 UITableView 标头(不是节标头)自动布局问题
【发布时间】:2015-09-02 14:41:38
【问题描述】:

我需要将 tableViewHeader 添加到 UITableView,其中包含两个标签,并且所有内容都需要使用自动布局动态调整大小。所以,我在 XIB 中创建了一个标题视图,用systemLayoutSizeFittingSize: 测量它并将视图设置为 tableViewHeader。结果如下所示:

如您所见,带有作者姓名(“Brian Mancini”)的标签在文本上方和下方都有额外的空间。我怎样才能摆脱它?

-更新-

这里是演示项目:link,这里是 Interface Builder 视图约束的屏幕截图:

【问题讨论】:

  • 你能在你的 .xib 文件中分享你的约束吗?

标签: ios uitableview uiview header autolayout


【解决方案1】:

最近我在我的项目中修复了与表头视图自动布局相同的问题。您最好提供有关您当前 IB 配置的更多信息,以便我可以尝试更有效地提供帮助,但下面让我尝试将我的解决方案转换为您的项目上下文,看看它是否有帮助:

  1. 将 2 个标签放在一个容器中 (UIView)
  2. 配置必要的约束以实现您想要的布局(只需执行与之前设置标签到最顶部视图之间的约束相同的操作)
  3. 在容器和最顶层视图之间配置必要的边距

这样做,不再需要计算表头视图高度。让自动布局为您完成这项工作!

它应该是这样的(黄色框是添加的容器视图,其他一切都保持不变)

还要注意,在将自定义视图分配给表头视图之后,你应该调用layoutIfNeeded,否则它不知道在哪里调整;)

请查找修复版HERE

编码愉快!

【讨论】:

  • 抱歉耽搁了——我已经用更多信息更新了这个问题。
  • 谢谢,稍后我会检查源代码!标记答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-11
  • 2023-03-29
  • 1970-01-01
  • 2015-04-01
  • 2017-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多