如何在字符边界处进行UILabel截断?

时间:2014-03-26 17:14:27

标签: ios uilabel

我有一些UILabels水平相邻,它们将包含名称。

我无法找到任何方法让文字在字符边界处被截断 - 我已尝试使用NSLineBreakByCharWrapping进行换行模式,但字符在中间被切断

enter image description here

我已尝试过其他换行模式,但无法摆脱部分字符(此特定示例中为x),我不想要显示部分字符,因为它看起来很明显没有好处。

将输出限制为硬编码字符数是不可行的,因为iiiiiiii与wwwwwwww的宽度完全不同。 此外,我不想......出现在文本中,因为如果它是狭窄的,那么如果可用空间的一部分被消耗,那么剩下的字符将会太少......

    contactItem.name.frame = nameFrame;
    contactItem.name.font = [UIFont systemFontOfSize:12];
    contactItem.name.textColor = [UIColor whiteColor];
    contactItem.name.textAlignment = NSTextAlignmentCenter;
    contactItem.name.lineBreakMode = NSLineBreakByCharWrapping;
    [self.scrollView addSubview: contactItem.name];

contactItem.name是UILabel。 nameFrame为每个contactItem水平递增。

1 个答案:

答案 0 :(得分:0)

也许自己计算文字大小,并在它太长时间内做出反应?

Calculating UILabel Text Size

我不知道这是否是解决此问题的最简单方法 - 但肯定它是有效的解决方案。