我创建了一个UILabel并将lineBreakMode设置为NSLineBreakByWordWrapping,但有时一个单词被分成两行。
我的代码如下:
_sentenceLabel.textAlignment = UITextAlignmentCenter;
if (_sentenceLabel.bounds.size.width > self.bounds.size.width - 100) {
CGSize size = [_info.sentence sizeWithFont:sentenceFont
constrainedToSize:CGSizeMake(self.bounds.size.width - 100, 1000)];
_sentenceLabel.frame = CGRectMake(0, 0, size.width, size.height);
_sentenceLabel.numberOfLines = 0;
_sentenceLabel.lineBreakMode = NSLineBreakByWordWrapping;
}
当字体名称为@“Gill Sans”时,换行符不正确。 (“结果”一词分为两行)
当我更改为其他字体时,它再次起作用。这很奇怪。
感谢您的帮助。
答案 0 :(得分:1)
这也发生在韩国人的角色,字体AppleSDGothicNeo-Bold和其他人。在一个带有拉丁语和韩语单词的独特标签中,对于拉丁语来说,自动换行是有效的,但不适用于韩语。
答案 1 :(得分:1)
文档内容如下:
NSLineBreakByWordWrapping
包装发生在单词边界,除非单词本身不适合单行。