为什么带有线间距的多线UILabel会删除最后的3个点?

时间:2014-08-05 07:28:39

标签: ios ios7 uilabel nsmutableattributedstring

我在向UILabel添加linespacing方面遇到了问题。如果我不使用linepacing,如果文本溢出,我会在第3行的末尾得到3个点。

    UILabel *labelBlurb = [[UILabel alloc] initWithFrame:CGRectMake(marginLeft, 15+20, 295, 60)];
    [labelBlurb setNumberOfLines:3];
    [labelBlurb setText:blurb];
    [labelBlurb setLineBreakMode:NSLineBreakByTruncatingTail];
    [labelBlurb setAdjustsFontSizeToFitWidth:NO];
    [labelBlurb setTextColor:[UIColor colorWithRed:38.0/255.0 green:38.0/255.0 blue:38.0/255.0 alpha:1.0]];
    [labelBlurb setBackgroundColor:[UIColor clearColor]];
    [labelBlurb setFont:[UIFont fontWithName:@"HelveticaNeue" size:12]];

但是当我添加这样的属性文本时:

    attributedString = [[NSMutableAttributedString alloc] initWithString:blurb];
    paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:3.5];
    [attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [blurb length])];
    labelBlurb.attributedText = attributedString;
    [view addSubview:labelBlurb];

最后的3个点消失了。如何在添加attributedText时阻止删除3个点?

这就是我想要的 WITH 3.5 linespacing:

  

Bacon ipsum dolor坐在肉馅饼里的猪肉leberkas熏牛肉。

     

短腰肉熏牛肉肋眼布丁里脊肉。肩部排骨牛肉

     

烟肉。萨拉米香肠干酪舌头火腿牛肉排骨肉丸..< - 3点

1 个答案:

答案 0 :(得分:10)

lineBreakMode - 对象的paragraphStyle设置为:NSLineBreakByTruncatingTail

可能会有帮助