2016-01-24 116 views
0

我正在使用界面生成器来设置具有两个标签的表格视图单元格。其中一个应该有动态高度,取决于它拥有多少文本。 (单元格也是基于标签高度的动态高度。)我有约束正常工作 - 标签和单元格根据输入文本正确调整大小。我的问题是,要使它工作,我必须对高度> = 0的调整大小标签设置约束。由于某种原因,IB强迫我使标签0的屏幕高度,这使得很难看到/与...合作。下面的“标签”的小点是0高度标签:Autolayout Height> = 0 Interface Builder中的框架

enter image description here

如果我将它设置在高度大于0(这应该由约束被允许)约束的错误变成红色:

enter image description here

我很好奇,为什么IB不会让我设置的东西与高度比最低值越大其高度> =约束。有没有办法摆脱这个错误?

回答

0

使用标签文本时,您不需要将高度设置为UILabel。因为它会根据字体大小自动获取高度。您只需对两个标签给出垂直,顶部和底部约束,并从属性检查器中删除默认文本。现在您可以创建具有动态高度的表格单元格。

顶标签的限制: 前置,顶部

底部标签的限制: 前置,底部 ,也给顶部和底部的标签之间的垂直间距。

随着自我大小的细胞高度,你可以得到你想要的结果。

参考网址:self-sizing-cells

这里是约束的图像,我已经设置: enter image description here

下面是两个标签约束的图像。 enter image description here Label1 with text enter image description here Label2 without text

并我已经添加以显示与结果数据的代码示例。 enter image description here

希望它有助于解决您的问题。

+0

看起来像你有问题,我想尽量避免(你的第二个标签似乎是0高度在IB –

+0

@MattCooper我的第二个标签是0高度,因为没有内容第二个标签,所以它的高度将自动变为0.当使用标签时,你不需要高度限制,因为标签的高度会根据你传入的字符串自动增加或减少,所以我说的是你给的高度限制 –

+0

当我不给我的标签高度限制时,我得到“高度对标签不明确”(顶部标签)和“高度和垂直位置对于Label2不明确”(较低标签)。你避免这些错误? –