动态的UITableView头部(不是分区头部)自动布局问题

3
我需要将包含两个标签的tableViewHeader添加到UITableView中,并且需要使用自动布局进行动态调整。因此,我在XIB中创建了一个header视图,使用systemLayoutSizeFittingSize:测量了它,并将该视图设置为tableViewHeader。结果如下所示:

result

正如您所看到的,作者名称标签(“Brian Mancini”)的文本上方和下方都有额外的空间。我该如何去掉它?
-更新-
这是演示项目:链接,这是视图的Interface Builder约束的屏幕截图:

IB constraints


你能分享一下你在.xib文件中的限制条件吗? - Candost
1个回答

3
最近我在项目中解决了与表头视图自动布局相关的相同问题。你最好提供关于当前IB配置的更多信息,这样我可以更有效地帮助你,但是下面让我尝试将我的解决方案翻译到你的项目上下文中,看看它是否有所帮助:
  1. 将2个标签放入一个容器(UIView)中
  2. 配置必要的约束条件以实现您所需的布局(只需像之前设置标签与顶部视图之间的约束一样即可)
  3. 配置容器和顶部视图之间必要的边距
这样做,就不再需要计算表头视图的高度。让自动布局为你完成这项工作吧!
下面是应该是什么样子的(黄色框是添加的容器视图,其他都和你想要的一样): enter image description here 同时请注意,在将自定义视图分配给表头视图后,应调用`layoutIfNeeded`,否则它无法调整位置 ;) enter image description here 请在此处找到修复版本。
愉快的编码吧!

抱歉拖延了 - 我已经更新了问题并提供更多信息。 - Paul Semionov
谢谢,稍后我会查看源代码!已标记答案。 - Paul Semionov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接