UILabel Autoshrink 滥用?

UILabel Autoshrink Mal-use?

我的 UI 中需要一个标签来容纳最多 32 个字符而不变形,因此我启用了自动收缩并将行数更改为 0:

这是我在 IB 上的标签:

现在,当我 运行 应用程序时,它 运行 关闭了屏幕:

我怎样才能使它相应地适应?

您不希望行数为 0,因为这会告诉标签使用它需要的 any 行数。您还必须将标签的右边缘限制到其父视图的右边缘,因为如果没有它,它将 运行 偏离右侧,如您所见。

先删除约束

  • 给定宽度 0 并应用宽度约束。单击约束更改宽度约束 = 到 >= 在您希望哪一侧(左侧或右侧)应用顶部 space 和(尾随 space 或前导 space)应用两个约束。
  • 清除标签文本。
  • 尝试一下,然后让我知道这是什么问题。

你的方向是正确的。设置标签的最小字号和最大字号,不需要截断字符,不需要设置行数。自动收缩绝对有效。