如何在ios中进行多线UILabel?

Har*_*ode 34 objective-c multiline uilabel ios

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

Sam*_*Sam 76

设置adjustsFontSizeToFitWidth为NO和numberOfLines0.

numberOfLines Docs

此属性控制使用的最大行数,以使标签的文本适合其边界矩形.此属性的默认值为1. 要删除任何最大限​​制,并根据需要使用尽可能多的行,请将此属性的值设置为0.

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

使用sizeToFit方法调整接收器大小时,调整大小会考虑存储在此属性中的值.例如,如果此属性设置为3,则sizeToFit方法会调整接收器的大小,使其大到足以显示三行文本.

您可能还需要指定lineBreakMode除非默认UILineBreakModeWordWrap值适合您想要的内容.

  • 无需将`adjustsFontSizeToFitWidth`设置为`NO` - **默认为"NO"** (3认同)
  • 值得注意的是,自 iOS 6.0 起不推荐使用 UILineBreakModeWordWrap,取而代之的是 NSLineBreakByWordWrapping (2认同)

小智 6

使用UILabel以下属性:

textLabel.lineBreakMode = NSLineBreakByWordWrapping;  
textLabel.numberOfLines = 0;
Run Code Online (Sandbox Code Playgroud)