具有恒定大小和动态字体大小的UILabel取决于文本

时间:2012-02-19 13:02:08

标签: ios uilabel

我的UIView上有UILabel。我总是为我的标签(从后端)获取各种数据。我有一些矩形在View上显示文字(我把它设置为uilabel大小,这个大小是不变的)。

如何为我的UILabel设置其大小的动态字体? 我只需要显示具有实际字体大小的文本数据,用于我的矩形边界。如果文本真的很长,最小的字体将包装文本 - 我需要应用最小的字体大小来显示更多的文本数据。

(我的标签可以是多行,可以调整到大小的边界)

2 个答案:

答案 0 :(得分:0)

在xib中有UILable - adjustToFitWidth属性,您可以在其中给出最小的字体大小。因此,如果您的文字越来越长,它会自动缩小字体大小以在标签内调整它。

注意:adjustToFitWidth中给出的值是最小限制,因此字体大小总是大于或等于该值。

享受编码:)

答案 1 :(得分:0)

我会这样做:获取NSString字符数。根据该字符数计算大小。

NSString *myString = @"Hello";
int myInt = myString.length;
float fontSize = PUT_A_VALUE_HERE / myInt;

您将使用变量PUT_A_VALUE_HERE,直到获得所需的结果。之后,更改字体大小

[lblYourUILabel setFont:[UIFont fontWithName:fontName size:fontSize]];