ios - 如何在 UILabel 中按字符换行

标签 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            |
+--------------+

我怎样才能做到这一点?

最佳答案

使用NSLineBreakByWordWrapping而不是 NSLineBreakByCharWrapping (划掉那个)

更新:

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

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



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

关于ios - 如何在 UILabel 中按字符换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22914729/

相关文章:

ios - 从 JSON 端点检索数据

iphone - 在线程中解除分配

iphone - UIButton 的蓝色渐变图像错误地拉伸(stretch)为橙色渐变图像

ios - didUpdateLocations 从未调用过

ios - 使用 Carthage 导入 CocoaLumberjack

iphone - 谁能告诉我IOS中调用的区别

ios - Sprite Kit 艺术 Assets 命名约定

iphone - 使用某些类型的方法删除对象时出现 NSMutableArray 错误

iOS:LLDB 多行断点命令无法按预期工作

iphone - 消息发送到已释放的实例