IOS label 设置行高

2020-08-11 10:38:55 浏览数 (1)

需求:单行文本正常显示,多行文本的行间距为8

期待效果如下:

直接上代码:

代码语言:javascript复制
  self.adTittle.text = @"转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化转化付费转化";
 
    
    NSMutableParagraphStyle  *paragraphStyle = [[NSMutableParagraphStyle alloc] init];

    // 行间距设置为8
    [paragraphStyle  setLineSpacing:8];

    NSString  *testString = self.adTittle.text;
    NSMutableAttributedString  *setString = [[NSMutableAttributedString alloc] initWithString:testString];
    [setString  addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [testString length])];
    
    // 设置Label要显示的text
    [self.adTittle  setAttributedText:setString];

使用NSMutableAttributedString 设置之后,你会发现多行文本的省略号...没有了,为了解决此问题,解决方案如下:

代码语言:javascript复制
paragraphStyle.lineBreakMode = NSLineBreakByTruncatingTail;

完美解决。

0 人点赞