调整字体大小以适合标签高度 - Swift 4,Xcode 9

Adjust font size to fit label height - Swift 4, Xcode 9

我们如何增加标签的字体大小以匹配标签的高度?

在 Swift 4 或 Xcode 9 的情节提要中,以编程方式或通过界面构建​​器。

我尝试了以下方法,Swift 3 中的一些人声称它有效。- SO Q&A

label.minimumScaleFactor = 0.1
label.adjustsFontSizeToFitWidth = true
label.lineBreakMode = .byClipping
label.numberOfLines = 0

出于测试目的,我创建了一个标签,它是屏幕的宽度和屏幕的高度,但字体大小保持默认大小。我还使界面生成器中的设置与上面的代码相匹配,结果同样不成功。

回答我自己的问题。答案隐藏在我上面链接的 post 中。

如果您的 UILabel 具有固定高度,无论是按点还是按父视图的乘数,都可以使用一行代码将字体大小设置为该高度的任意分数:

testLabel.font = testLabel.font.withSize(testLabel.frame.height * 2/3)

其中 2/3 是文本占据的标签的高度分数。

有一个简单的解决方案。 我们可以将标签的默认大小增加到 100,并将标签的最小字体大小设置为 属性 ~ 1。我不记得这个 属性。我在移动

在 Storyboard 上设置标签,只需将字体大小设置为最大,并在 属性 检查器中设置标签的最小字体大小 属性 然后根据螺丝大小进行调整。