Ios UILabel lineBreakMode,在特定字符处断开
有没有办法在Ios UILabel lineBreakMode,在特定字符处断开,ios,uilabel,line-breaks,Ios,Uilabel,Line Breaks,有没有办法在UILabel中的特定字符(比如“;”)处打断文本 我不希望用换行符或换行符将其断开。当然,在显示字符串之前,只需将所有出现的“;”替换为“;\n”。不能使用断开行此字符。如果要换行,请将此字符替换为\n字符 label.text=[label.text stringByReplacingOccurrencesOfString:@";" withString:@"\n"]; 使 label.numberOfLines = 0. 并更新标签框 CGSize labelSize =
UILabel
中的特定字符(比如“;”)处打断文本
我不希望用换行符或换行符将其断开。当然,在显示字符串之前,只需将所有出现的“;”替换为“;\n”。不能使用
断开行代码>此字符。如果要换行,请将此字符替换为\n
字符
label.text=[label.text stringByReplacingOccurrencesOfString:@";" withString:@"\n"];
使
label.numberOfLines = 0.
并更新标签框
CGSize labelSize = [label.text sizeWithFont:label.font constrainedToSize:label.frame.size lineBreakMode:label.lineBreakMode];
label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, label.frame.size.width, labelSize.height);
您可以使用(\r)
而不是换行符(\n)
来创建换行符
将numberOfLines
设置为0
以允许任何行数
yourLabel.numberOfLines = 0;
就像您的情况一样,只需替换代码>带有\n
NSString *string = @"This; is a; NSString";
string = [string stringByReplacingOccurrencesOfString:@";"
withString:@";\n"];
可以将换行符和换行符组合使用。请检查以下代码
self.testLabel.text = @"abc;\nabc;";
self.testLabel.numberOfLines = 0;
CGSize labelSize = [self.testLabel.text sizeWithFont:self.testLabel.font
constrainedToSize:self.testLabel.frame.size
lineBreakMode:self.testLabel.lineBreakMode];
self.testLabel.frame = CGRectMake(
self.testLabel.frame.origin.x, self.testLabel.frame.origin.y,
labelSize.width, labelSize.height);
还有一种方法可以在有限的环境下工作。您可以将普通空格(\U+0020)替换为非中断空格(\U+00A0)。这将允许您限制字符串中断的位置数。例如,如果您有一个字符串,如:
I have a string with two sentences. I want it to preserve the sentences.
通过小心地使用不间断的空格,你可以让它像这样间断
I have a string with two sentences.
I want it to preserve the sentences.
如何:
对于InterfaceBuilder中的字符串:
转到系统首选项->键盘->输入源->+
选择类别“其他”和键盘“Unicode十六进制输入”
选择“添加”
确保选择了“在菜单栏中显示输入法”。
关闭系统首选项
返回XCode并找到您的字符串
使用菜单栏中的键盘菜单,选择Unicode键盘
在字符串中选择一个空格。类型选项+00a0。完成4位数字序列后,将显示一个空格。这个空间是一个不间断的空间。对需要删除的所有空格重复此操作
对于编程字符串,您可以根据需要添加\U00A0。在我的字符串中多次(,0r;)然后每次换行,我可以做什么。在你的答案中,最好是单次(,或;)和断线。@当你想第一次断线时,请摇摇晃晃;还是最后;?最后,我有一段例如段落考虑4逗号(,)),这段发生四行。每次逗号(,)后换行谢谢。label.text=[label.text stringByReplacingOccurrencesOfString:@”,“with string:@”\n“]代码>请尝试使用此选项。在Swift中,您可以通过编程方式执行“\u{00a0}”