【问题标题】:UILabel Autoshrink Mal-use?UILabel Autoshrink 滥用?
【发布时间】:2015-08-24 03:52:01
【问题描述】:

我需要一个标签在我的 UI 中最多容纳 32 个字符而不失真,所以我启用了自动缩小并将行数更改为 0:

这是我在 IB 上的标签:

现在当我运行应用程序时,它会在屏幕外运行:

我怎样才能使它适合?

【问题讨论】:

  • 尝试使用 minimumScaleFactor 代替。从 iOS 6 开始,最小字体大小已被弃用。
  • 请查看答案:stackoverflow.com/a/32155204/3202193希望对您有所帮助。
  • 这对它没有任何影响@Shripada

标签: ios swift xcode6 uilabel autosize


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    先移除约束

    • 将宽度设为 0 并应用宽度约束。单击约束将宽度约束 = 更改为 >= 您希望在哪一侧(左侧或右侧)应用顶部空间和(尾部空间或前导空间)应用两个约束。
    • 清除标签文本。
    • 试一试,并在出现此问题后告诉我。

    【讨论】:

    • 将宽度设为 0 & >= 向左或向右是什么意思.. 对超级视图意味着什么?
    • 超级视图应用这些约束
    • 所以设置宽度 - superview
    • 考虑到我在框架上也有图像视图框架
    • 你想拉伸哪一边不需要约束
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多