iOS 8 xib + AutoLayout对tableViewHeaderView无法正常工作

时间:2015-04-23 13:43:22

标签: ios autolayout

我有一个带有UIView的xib文件,我想用它作为tableViewHeaderView。视图有一个带有一堆文本的标签。无论我尝试什么,我都无法调整它,因此高度根据约束正确拟合。

这是笔尖:enter image description here

标签设置为调整其高度以适合文本,所有边距距离超视图15个点。但是当它添加到表视图时,它看起来像这样:

enter image description here

我似乎无法弄清楚我缺少什么,here is the sample project,是否有某种方法可以设置nib以允许视图按内容约束来调整大小?

编辑:我试过这里给出的答案没有运气:https://stackoverflow.com/a/21099430/383603

编辑2:它应该如下所示:

enter image description here

1 个答案:

答案 0 :(得分:0)

对于tableViewHeaderView视图,实际高度取自xib文件,在您的情况下为570。如果这是真的,自动布局系统应该得到一个明确的状态:

  • 垂直拥抱优先级是1000,这是最高的,为了得到它 工作
  • 需要打破15个顶点或15个底点约束
  • 或动态调整标题大小

根据图片的外观,运行时系统最有可能决定打破垂直拥抱优先级以保持其他一切有效

可能的解决方案可能是:

  • 动态更改标题的高度
  • 更改(降低)顶部和/或底部约束的优先级