动态UITableView标头(不是节标题)自动布局问题

时间:2015-09-02 14:41:38

标签: ios uitableview uiview header autolayout

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

result

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

-UPDATE -

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

IB constraints

1 个答案:

答案 0 :(得分:3)

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

  1. 将2个标签放入容器(UIView)
  2. 配置必要的约束以实现您希望的布局(简单地执行与之前设置标签之间的约束到最顶层视图的操作相同)
  3. 在容器和最顶层视图之间配置必要的边距
  4. 这样,不再需要表头视图高度计算。让自动布局为您完成工作!

    以下是它的外观(黄色框是添加的容器视图,其他所有内容都保持不变)

    enter image description here

    另请注意,在将自定义视图分配给表标题视图后应该调用layoutIfNeeded,否则它不知道要调整的位置;)

    enter image description here

    请找到固定版本HERE

    快乐的编码!