我有一个简单的UILabel
打印文本如下:
John Doe sent a message to blahblah-
blah@blahblah.com
因此,此处的电子邮件地址:blahblah-blah@blahblah.com
正在剪切并部分显示在下一行。我需要做什么才能将其显示为:
John Doe sent a message to
blahblah-blah@blahblah.com
我已经拥有以下内容:
self.mailLabel.lineBreakMode = NSLineBreakModeByWordWrapping;
self.mailLabel.numberOfLines = 0;
有问题的字符串是:
[NSString stringWithFormat:@"You sent a message to %@", emailAddress];
我该怎么办?请记住,名称可能很长,因此,在字符串中添加换行符不会起作用,因为我不想要以下情况:
Jonathon Dawson sent a message
to
blahblah-blah@blahblah.com
应该是
Jonathon Dawson sent a message
to blahblah-blah@blahblah.com
答案 0 :(得分:1)
self.mailLabel = [NSString StringWithFormat:@"You sent a message to\n%@"];
使用\ n创建新行。 另外,请确保在标签上将numberOfLines设置为2.
答案 1 :(得分:0)
您需要在 - (连字符,又名短划线)符号的左侧和右侧添加 ZWNBSP (零宽度不间断空格)字符:
self.mailLabel.text = [self.mailLabel.text stringByReplacingOccurrencesOfString:@"-" withString:@"\u2060-\u2060"];
<强>说明:强>
U + 2060 - 零宽度不间断空格Unicode字符可防止任何可能是插入器的换行符在其前后换行。只要UILabel
(以及Cocoa中的其他文本控件)尊重Unicode,您就会获得没有不希望的换行符的文本。
维基百科链接:http://en.wikipedia.org/wiki/Zero-width_no-break_space