UILabel垂直对齐缺失的空间

时间:2014-02-13 11:22:06

标签: ios objective-c uilabel

我使用UILabel来显示vertical alignment的文字。我用垂直对齐方式将文字显示为逐个字符。实际上,这是一个与CABasicAnimation对齐的移动文本。但我的问题是

  1. 每行应该show one character,但是当我尝试拉伸标签宽度时 显示单个字符,某些字符部分擦除。看屏幕 拍摄的xib(带有小文字的样本)..或者尝试扩展框架大小,某些行显示单个字符,一些显示双字符
  2. 单词之间缺少空格。见截图。
  3. 如何使用我的xib修复它?答案也可以通过编程方式接受。

    enter image description here

    注意:此示例中使用的文字“有些长文字”。

1 个答案:

答案 0 :(得分:1)

您不需要垂直对齐。只需使UILabel更宽,并在字符串的每个字符后输入\ n。

        NSString *longString = @"This is a very very long string";

        NSString *labelString = @"";

        self.label.text = labelString;
        self.label.numberOfLines = 500; //just put a big number or calculate something

        for (int n=longString.length - 1; n > -1; --n) {

            labelString = [NSString stringWithFormat:@"%@\n%@", [longString substringWithRange:NSMakeRange(n, 1)], labelString];

                self.label.text = labelString;

        }