8

我在向我的 UILabel 添加行距时遇到问题。如果我不使用行间距,如果文本溢出,我会在第 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 个点消失了。添加AttributeText时如何防止3个点被删除?

这就是我想要的3.5行间距:

Bacon ipsum dolor sit amet doner 五花肉 leberkas 熏牛肉。

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

薄饼。Salami biltong舌头火腿飞节牛肋肉丸.. <-- 3 点

4

1 回答 1

14

也许它有助于将lineBreakMode-objectparagraphStyle设置为:NSLineBreakByTruncatingTail

于 2014-08-05T07:47:16.703 回答