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

时间:2014-04-07 14:03:48

标签: ios objective-c cocoa-touch

我的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];

我大概都想要这个:

+--------------+
|Petter        |
|Fergusson     |
+--------------+

是这样的:

+--------------+
|Petter Ferguss|
|on            |
+--------------+

我怎么能做到这一点?

1 个答案:

答案 0 :(得分:5)

使用NSLineBreakByWordWrapping代替NSLineBreakByCharWrapping(从头开始)

更新:

抱歉,我误解了原始问题。尝试使用以下Unicode字符替换文本中的空格:

  

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

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