如果UILabel
有空格,我会StringBuilder
显示单行。
但是,我需要强制它始终显示 2行,即使有足够的空间在 1行中显示它。
强有力的方法是减少右间距约束并在所有可用设备上检查这种情况,但是可能有更简单的方法吗?
正如我所提到的,现在标签通过约束绑定到superview。
答案 0 :(得分:9)
步骤1.将标签的行数设置为2
步骤2.将“垂直拥抱优先级”设置为高(1000)
步骤3.右键单击标签并连接左侧的图标,然后选择“垂直居中”
步骤4.右键单击标签并连接左侧的图标并设置“水平间距”
步骤5.如果该文本是静态的,则按照建议的Igor进行操作,否则,在将文本分配给该标签后,只需用@“\ n”替换@“”。例如。
NSString *text = @"Какой-то Справочник";
self.myLabel.text = [text stringByReplacingOccurrencesOfString:@" " withString:@"\n"];
或者只设置self.myLabel.lineBreakMode = NSLineBreakByWordWrapping;
答案 1 :(得分:7)
在UILabel文本的InterfaceBuilder设置中,按下选项+在“Справочник”和“МКБ”之间输入。
或设置label.text = @"Справочник\nМКБ";
。
当然,在 IB 或代码中设置yourLabel.numberOfLines = 2
或0
。
答案 2 :(得分:4)
以下代码可能对您有所帮助,您必须使标签的高度足以覆盖两行。
NSString *text = @"Какой-то Справочник";
self.Label.lineBreakMode = NSLineBreakByWordWrapping;
self.Label.numberOfLines = 2;
答案 3 :(得分:2)
您需要设置numberOfLines
。
yourLabel.numberOfLines = 2
答案 4 :(得分:2)
您可以强制标签显示两行文字,并在字符串中所需的位置插入“\ n”。
或者您可以为标签设置恒定宽度以强制它始终保持恒定宽度(这将导致标签将文本显示为两行,只要文本大于宽度)。请记住将允许的行数设置为2。
答案 5 :(得分:2)
如果是固定文字,请转到\n
。
如果是动态文字,请转到设置固定宽度的自动布局,然后numberoflines=0
和NSLineBreakByWordWrapping
答案 6 :(得分:1)
对于Swift 4.2,您可以尝试使用-
title.numberOfLines = 2
title.lineBreakMode = NSLineBreakMode.byWordWrapping
,其中标题是您的标签。 这对我有用。