2012-02-19 104 views
1

我的UIView上有UILabel。我总是为我的标签(从后端)获取各种数据。我有一些rect在View上显示文本(我将它设置为uilabel大小,这个大小是不变的)。具有恒定大小和动态字体大小的UILabel取决于文本

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

(我的标签可以是多线的大小,以const的矩形边界)

回答

0

有财产UILable - adjustToFitWidth在厦门国际银行,在那里你可以给最小的字体大小。所以如果你的文字变得越来越长,那么它会自动减小字体大小以在标签内调整它。

注意:adjustToFitWidth中给出的任何值都是最小限制,所以您的字体大小始终大于或等于该值。

享受编码:)

+0

adjustsFontSizeToFitWidth和minimumFontSize仅影响单行文本。但我告诉了许多线uilabel。我不提这个,对不起。 – 2012-02-19 13:21:38

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]]; 
+0

它的工作,如果你只使用等宽字体。我使用Helvetica,非等宽字体。 – 2012-02-19 13:41:39