【问题标题】:Scaling font size to width of label iOS Swift将字体大小缩放到标签 iOS Swift 的宽度
【发布时间】:2017-10-09 21:01:31
【问题描述】:

所以,我最近开始学习 Swift,想知道如何根据屏幕大小缩放标签中的文本。我见过一些与此类似的问题,但它们似乎相当复杂。我正在尝试这样做,但这似乎不起作用。

UIlabel1.adjustsFontSizeToFitWidth = true

我已将标签连接到代码并设置了一些约束。 等宽约束 等高约束 中心 X 对齐约束 垂直空间约束

约束链接到视图控制器,以便实际标签大小 随屏幕尺寸缩放。有什么想法吗?

【问题讨论】:

    标签: ios swift ios10


    【解决方案1】:

    您可以在故事板中使用Autoshrink

    将其更改为Minimum Font ScaleMinimum Font Size

    【讨论】:

    • 您的Minimum Font Size 值是多少?你能把它设置小一点来测试吗?
    • 我假设最小字体大小的作用是确保无论屏幕或标签有多小,它都是最小的字体大小。我将它设置为 30
    • 我们设置为8。这是可以缩放的最小字体大小。
    • 好的,标签的字体大小是什么?
    • 您可以保留标签的当前字体大小。但是将最小字体大小设置得更小,以便它可以缩放以适应宽度。
    【解决方案2】:

    来自adjustsFontSizeToFitWidth 的文档:

    通常,标签文本是使用您在 font 属性中指定的字体绘制的。如果此属性设置为 true,并且 text 属性中的文本超出标签的边界矩形,则标签会减小字体大小,直到字符串适合或最小字体比例到达了。此属性的默认值为 false。如果您将其更改为 true,请确保您还通过修改 minimumScaleFactor 属性设置了适当的最小字体比例。

    这表示在使用adjustsFontSizeToWidth 时必须设置minimumScaleFactor 才能缩放字体。

    但请注意,这种缩放只是一个方向。如果需要显示您的文本,您的字体大小会变小,但不会大于您设置的字体大小。

    鉴于此,尝试将字体大小设置为适合您的应用将在其上运行的最大屏幕的值。在较小的屏幕上,它会缩小以适应您为 minimumScaleFactor 指定的限制。

    【讨论】:

      猜你喜欢
      • 2020-06-09
      • 2021-01-07
      • 2019-04-06
      • 1970-01-01
      • 2021-02-13
      • 2015-10-27
      • 2018-10-16
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多