我一直在寻找一些东西来动态调整我的fontSize
以适应我的布局框的宽度。但是我能找到的所有答案,要么使用这个:
label.adjustsFontSizeToFitWidth = true
这确实有效,但前提是我没有将setTranslatesAutoresizingMaskIntoConstraints
设置为false
。
请注意,我不使用故事板,所以为了完全控制其他约束,我需要这行代码:
label.setTranslatesAutoresizingMaskIntoConstraints(false)
那么,当我不能使用adjustsFontSizeToFitWidth
时,我如何在不使用故事板的情况下调整字体大小以适应宽度呢?
在我弄清楚如何调整字体大小以适应宽度之后。我还需要调整布局框的高度以适应字体大小。虽然似乎有关于这方面的文档,但如果你碰巧也知道这个问题的答案,那将非常感激。
6条答案
按热度按时间qzlgjiam1#
对标签尝试以下命令:
并尝试将标签的行更改为0和1(检查两种情况):
kyks70gy2#
MinimumScaleFactor
的范围是0到1。因此,我们根据字体大小设置MinimumScaleFactor
,如下所示dl5txlt93#
我不知道这是否能完全回答您的问题,但是您可以使用此扩展来计算适合您自己的字体大小。
雨燕3
雨燕5
我的逻辑是确保两个不同的标签具有相同的字体大小。在我的例子中,这是两个标签用于用户的名字和姓氏。我之所以需要两个标签,是因为每个标签都是独立的动画。
hsgswve44#
我只是做了你需要的,完美的作品!(仅编程)-我们正在设置大字体大小的标签,为了重新缩放到完美的字体大小。
如果使用AutoLayout,请在
viewDidLayoutSubviews
中实现此代码(布局完成后)。你的,罗伊
xmjla07d5#
上述Swift 4转换:
雨燕5
z9ju0rcb6#
这里有一个黑客解决方案: