为什么NSLineBreakByWordWrapping有时不起作用

ech*_*cho 5 uilabel ios

我创建了一个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;
    }
Run Code Online (Sandbox Code Playgroud)

当字体名称为@"Gill Sans"时,换行符不正确.("结果"一词分为两行) 在此输入图像描述

当我改为其他字体时,它再次起作用.真奇怪.

谢谢你的帮助.

LoD*_*ani 1

这种情况也发生在韩文字符、AppleSDGothicNeo-Bold 字体和其他字体上。在包含拉丁语和韩语单词的独特标签中,对于拉丁语单词,自动换行有效,但对于韩语单词则不起作用。