我正在动态填充标题(UILabel)。有时它太长了,IOS挤压字体以适应宽度。有没有办法使用相同的字体大小做多行?
答案 0 :(得分:76)
将adjustsFontSizeToFitWidth
设置为NO,将numberOfLines
设置为0。
此属性控制要使用的最大行数 将标签的文本放入其边界矩形中。默认值 对于此属性是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并且它为我工作。 标签现在是多行的。