设置行间距(UILabel+Utils.m)
- (void)setText:(NSString*)text lineSpacing:(CGFloat)lineSpacing {
if (lineSpacing < 0.01 || !text) {
self.text = text;
return;
}
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text];
[attributedString addAttribute:NSFontAttributeName value:self.font range:NSMakeRange(0, [text length])];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:lineSpacing];
[paragraphStyle setLineBreakMode:self.lineBreakMode];
[paragraphStyle setAlignment:self.textAlignment];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [text length])];
self.attributedText = attributedString;
}
UITextView+Utils.m
- (void)setText:(NSString*)text lineSpacing:(CGFloat)lineSpacing {
if (lineSpacing < 0.01 || !text) {
self.text = text;
return;
}
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text];
[attributedString addAttribute:NSFontAttributeName value:self.font range:NSMakeRange(0, [text length])];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:lineSpacing];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [attributedText length])];
self.attributedText = attributedString;
}
计算行高的方法UILabel+Utils.m
+ (CGFloat)text:(NSString*)text heightWithFontSize:(CGFloat)fontSize width:(CGFloat)width lineSpacing:(CGFloat)lineSpacing {
UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, MAXFLOAT)];
label.font = [UIFont systemFontOfSize:fontSize];
label.numberOfLines = 0;
[label setText:text lineSpacing:lineSpacing];
[label sizeToFit];
return label.height;
}
UITextView+Utils.m
+ (CGFloat)text:(NSString*)text heightWithFontSize:(CGFloat)fontSize width:(CGFloat)width lineSpacing:(CGFloat)lineSpacing {
UITextView* textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, width, MAXFLOAT)];
textView.font = [UIFont systemFontOfSize:fontSize];
[textView setText:text lineSpacing:lineSpacing];
[textView sizeToFit];
return textView.height;
}