当大小不成比例时如何在 UILabel 中适合文本

Posted

技术标签:

【中文标题】当大小不成比例时如何在 UILabel 中适合文本【英文标题】:How to fit a text in UILabel when the size is not proportionally 【发布时间】:2009-04-27 10:38:23 【问题描述】:

根据标题,当宽度和高度不成比例时,如何将文本放入 UILabel 中?

在我的应用程序中,标签的宽度为 100,高度为 500,字体大小为 400。模拟器中的结果是文本超出框架,无法完全显示在屏幕上。如果我启用 adjustsFontSizeToFitWidth 字体不再是 400,这是一个要求。

我知道如果文本没有按比例缩放,它会看起来很奇怪,但这对我来说不是问题。

【问题讨论】:

【参考方案1】:

如果您只想让标签与包含标签所需的一样大,您可以将其设置为大于在任何情况下所需的大小并根据需要对齐。

另一种选择是:

label.text = newText;
CGRect bounds = label.bounds;
bounds.size = [newText sizeWithFont:label.font];
label.bounds = bounds;

【讨论】:

感谢您的回复,但我之前尝试过此代码,它会调整标签大小并能够包含字体(大),但我需要修复标签边界大小(小) ,并且字体大小(大)能够适合标签内,即使字体大小不成比例 我想我不知道你到底在寻找什么,如果不是这个而不是自动调整大小的字体(可以通过在 Interface Builder 中检查“auto-size”来完成)跨度>

以上是关于当大小不成比例时如何在 UILabel 中适合文本的主要内容,如果未能解决你的问题,请参考以下文章

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

UILabel 不调整高度以适合文本

如何调整 UIView 的大小以获取大量 UILabel 并调整 UILabel 的大小以适合文本?

调整 UILabel 字体大小以适合文本

如何使用自动布局调整视图大小以适合标签子视图?

具有比例宽度和文本驱动高度的动态 UILabel