如何在ios中进行多线UILabel?

时间:2011-11-03 13:57:55

标签: objective-c ios uilabel multiline

我正在动态填充标题(UILabel)。有时它太长了,IOS挤压字体以适应宽度。有没有办法使用相同的字体大小做多行?

4 个答案:

答案 0 :(得分:76)

adjustsFontSizeToFitWidth设置为NO,将numberOfLines设置为0。

numberOfLines Docs

  

此属性控制要使用的最大行数   将标签的文本放入其边界矩形中。默认值   对于此属性是1. 删除任何最大限​​制,并使用尽可能多的   如果需要,请将此属性的值设置为0。

     

如果使用此属性约束文本,则不使用任何文本   适合最大行数和边界内   使用适当的换行符截断标签的矩形   模式。

     

使用sizeToFit方法调整接收器大小时,请调整大小   考虑存储在此属性中的值。例如,如果   此属性设置为3,sizeToFit方法调整接收器的大小   所以它足够大,可以显示三行文字。

您可能还想指定lineBreakMode,除非默认UILineBreakModeWordWrap适合您想要的内容。

答案 1 :(得分:5)

使用UILabel属性,如下所示:

textLabel.lineBreakMode = NSLineBreakByWordWrapping;  
textLabel.numberOfLines = 0;

答案 2 :(得分:4)

是的,您在代码中将numberOfLines设置为0,将.lineBreakMode设置为UILineBreakModeWordWrap,或者如果您的标签在IB中定义,则设置为等效值。

答案 3 :(得分:2)

我刚使用LineBreak模式将Truncate Tail和setNumberOfLines设置为0并且它为我工作。 标签现在是多行的。