1.没行间距的可以调用 - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSAttributedStringKey, id> *)attributes context:(nullable NSStringDrawingContext *)context NS_AVAILABLE(10_11, 7_0);
2.有行间距的可以这样: - (CGRect)boundsWithFontSize:(CGFloat)fontSize text:(NSString *)text needWidth:(CGFloat)needWidth lineSpacing:(CGFloat )lineSpacing { NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:text]; NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; style.lineSpacing = lineSpacing; UIFont *font = Font_Light(fontSize); [attributeString addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, text.length)]; [attributeString addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, text.length)]; NSStringDrawingOptions options = NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading; CGRect rect = [attributeString boundingRectWithSize:CGSizeMake(needWidth, CGFLOAT_MAX) options:options context:nil]; return rect; }