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

时间:2018-08-04 23:50:13

标签: ios swift uilabel xcode9

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

在Swift 4或Xcode 9的Storyboard中,可以通过编程方式或通过界面构建​​器完成。

我尝试了以下方法,一些人声称它可以在Swift 3中工作。-SO Q&A

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

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

3 个答案:

答案 0 :(得分:0)

对此有一个简单的解决方案。 我们可以将label的默认大小增加到100,并设置属性min的最小字体大小〜1。我不记得这个属性了。我在移动设备上

答案 1 :(得分:0)

在情节提要板上设置标签,只需将字体大小设置为最大值,然后在属性检查器中设置标签的属性最小字体大小,然后根据screwn大小进行调整即可。

答案 2 :(得分:-1)

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

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

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

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