如何按字符包装UILabel中的文本

Ilk*_*aev 1 cocoa-touch objective-c ios

我的UILabel应该显示由角色包裹的文本,无论那里有多少个单词.

UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 50, 130, 500)];
lbl.lineBreakMode = NSLineBreakByCharWrapping;
lbl.text = @"Petter Fergusson";
lbl.font = [UIFont fontWithName:@"Oxygen-Bold" size:16];
[self.view addSubview:lbl];
Run Code Online (Sandbox Code Playgroud)

大概我想要这个:

+--------------+
|Petter        |
|Fergusson     |
+--------------+
Run Code Online (Sandbox Code Playgroud)

是这样的:

+--------------+
|Petter Ferguss|
|on            |
+--------------+
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

sha*_*sha 5

NSLineBreakByWordWrapping而不是NSLineBreakByCharWrapping(刮擦)

更新:

对不起,我误解了原始问题.尝试使用以下Unicode字符替换文本中的空格:  

NO-BREAK SPACE Unicode:U + 00A0,UTF-8:C2 A0

这将迫使UIKit以相同的方式更多地处理空格和字母,并且将逐个字符地划分.

  • 这对我有用.所以你可以在显示你的标签之前做一个`labelText = [labelText stringByReplacingOccurrencesOfString:@""withString:@"\ u00A0"]`.不过,这不应该是必要的,我觉得这是一个错误.我将这个提交给Apple. (2认同)