富文本显示不全自动省略

使用富文本时,文字一行(n行)显示不全,末尾文字省略

//------------简介
    CGSize maxSize = CGSizeMake(MAX, MAXFLOAT);
    // 调整行间距
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:9];//行间距
    //省略号在末尾
    /*
    // NSParagraphStyle
    typedef NS_ENUM(NSInteger, NSLineBreakMode) {
        NSLineBreakByWordWrapping = 0,     	// Wrap at word boundaries, default
        NSLineBreakByCharWrapping,		// Wrap at character boundaries
        NSLineBreakByClipping,		// Simply clip
        NSLineBreakByTruncatingHead,	// Truncate at head of line: "...wxyz"
        NSLineBreakByTruncatingTail,	// Truncate at tail of line: "abcd..."
        NSLineBreakByTruncatingMiddle	// Truncate middle of line:  "ab...yz"
    }*/
    paragraphStyle.lineBreakMode = NSLineBreakByTruncatingTail;
    NSDictionary *dict = @{NSFontAttributeName:[UIFont systemFontOfSize:17],NSParagraphStyleAttributeName:paragraphStyle};
    CGFloat introH = [peopleModel.summary boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size.height;
    //
    NSString *subTitle = peopleModel.summary;
    if (introH>80) {
        NSInteger count = MAX*3/17;
       subTitle = [peopleModel.summary substringToIndex:count];
        
    }
    //关键字keyWord
    // 获取关键字的位置
    NSRange range = [subTitle rangeOfString:peopleModel.keyWord];
    // 转换成可以操作的字符串类型.
    NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString:subTitle];
    
    // 关键字高亮
    [attribute addAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:17],NSParagraphStyleAttributeName:paragraphStyle} range:NSMakeRange(0, subTitle.length)];
    [attribute addAttributes:@{NSForegroundColorAttributeName:kThemeColor,NSFontAttributeName:[UIFont systemFontOfSize:17],NSParagraphStyleAttributeName:paragraphStyle} range:range];
    self.introLabel.attributedText = attribute;


你可能感兴趣的:(iOS)