富文本显示不全自动省略

使用富文本时,文字一行(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;


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值