iPhone Autolayout UIText窒息

时间:2016-02-26 00:20:24

标签: autolayout interface-builder

我知道我可以通过编程方式解决这个问题,我知道我可以将文本设置为收紧/缩放,但我想知道如何让这个文本在小屏幕上有机地扩展到第三行。我怎么能做到这一点?

enter image description here

1 个答案:

答案 0 :(得分:2)

在标签增长之前,您需要注意几件事情:

  1. 确保属性检查器中的“行数”字段设置为零。将其设置为零可以使标签根据其内容增长。

  2. 如果标签位于容器视图中,请确保未在容器视图中明确指定高度约束。由于容器视图应从其子视图生成其高度,子视图将根据它们的内容生成高度。如果您有更深层次的层次结构,那么它就是一个连锁过程。

  3. 确保容器视图没有兄弟视图,其显式高度可能导致容器视图在保持其自身高度时收缩。即使您的标签不在某个容器视图中,此点也可能适用。

  4. 在下图中,容器视图(灰色视图)从三个边绑定,允许它从底部生长。

    enter image description here

    下图显示了应用于容器内容视图的约束。容器正在从内容视图中移动其高度。

    enter image description here

    下面我将标签的文字从一行增加到三行。此时标签尝试水平扩展,但由于容器视图与两侧的超级视图绑定,因此标签只剩下一个方向来增加自身。它向下增加推动文本字段和按钮,因为按钮与容器视图的底部相连,它会拉动容器视图增加其高度。

    enter image description here