将字体大小调整为 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 引起的