技术日常

ios11~UILabel带行高限制文字2行显示估算宽高

2018-04-18  本文已影响1736人  摹喵居士

2018.04.18

UILabel控制

self.title.numberOfLines = 2;
self.title.text = title;

NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
style.lineBreakMode = NSLineBreakByTruncatingTail;
style.alignment = NSTextAlignmentLeft;
style.lineSpacing = 5;

// 设置行距
NSAttributedString *attributedString = [[NSAttributedString alloc]initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kCellTitleFontSize], NSParagraphStyleAttributeName:style}];
self.title.attributedText = attributedString;
[self.title sizeToFit];
CGSize titleSize = [self calc:title left:left];
self.title.frame = CGRectMake(left, 0, titleSize.width, titleSize.height);
NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
style.lineBreakMode = NSLineBreakByWordWrapping;
style.alignment = NSTextAlignmentLeft;
style.lineSpacing = 5;
CGSize maxSize = CGSizeMake(maxWidth, lineHeight * lineNum);
NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:kCellTitleFontSize], NSParagraphStyleAttributeName:style};
CGSize labelSize = [str boundingRectWithSize:maxSize options: NSStringDrawingTruncatesLastVisibleLine |  NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil].size;
上一篇 下一篇

猜你喜欢

热点阅读