将字体大小调整为 uilabel 宽度

Posted

技术标签:

【中文标题】将字体大小调整为 uilabel 宽度【英文标题】:Adjust font size to uilabel width 【发布时间】:2016-03-21 15:51:43 【问题描述】:

我的应用中有一个标签,它被限制为边距 |[myLabel]|。我想,无论设备是什么(iPhone4、iPhone5、iPhone6 和 iPhone6Plus),都有 15 个字符并调整字体大小以适应。

iPhone6Plus:

iPhone6:

我希望在 iPhone6Plus 中字体更大以适应 iPhone6,而在 iPhone4 和 5 中字体更小。这可能吗?

【问题讨论】:

【参考方案1】:
label.numberOfLines = 1
label.adjustsFontSizeToFitWidth = true

【讨论】:

这对我不起作用,我使用它就像 numberLaber.text = "123456789012345" 然后 numberLabel.adjustsSizeToFitWidth = true。 请尝试:label.numberOfLines = 1 label.adjustsFontSizeToFitWidth = true【参考方案2】:

在标签的属性检查器中:

【讨论】:

你能解释一下如何使用它吗? @Ro22e0 在情节提要中,当您在属性检查器中选择标签时,您就有了这个。如果您单击字体后面的加号按钮,您可以根据设备的宽度和高度设置字体 这不是横向、纵向和 iPad 上的差异,而不是 iPhone 之间的差异吗?如果我错了告诉我【参考方案3】:

另一种方法(如果没有其他方法)是在运行时将文本分配给 ui 标签,使用您在最大目标设备上使用的最大字体大小。然后(伪代码):

Obtain temp label intrinsic length

If intrinsic length > display label.width then reduce size by 1.

Repeat until intrinsic length <= display label.width

希望对你有帮助!

【讨论】:

以上是关于将字体大小调整为 uilabel 宽度的主要内容,如果未能解决你的问题,请参考以下文章

自动布局 - UILabel 在方向更改后宽度缩小,这是由另一个应该自动调整字体大小的 UILabel 引起的

Swift 3 - 调整字体大小以适应宽度,多行

如何根据标签可用的高度调整 UILabel 字体大小

将UIView中UILabel的字体大小调整为不同的设备大小

调整字体大小以适应边界矩形?

将 UIButton 字体大小调整为宽度