通过Category为NSString添加方法:
1. 根据字符串样式、字符串长度计算字符串所占大小
/** * @param font 字符串样式 * @param maxWidth 指定字符串长度 */- (CGSize)sizeWithFont:(UIFont *)font maxWidth:(CGFloat)maxWidth { // 获取文字样式 NSMutableDictionary *attrs = [NSMutableDictionary dictionary]; attrs[NSFontAttributeName] = font; // 根据文字样式计算文字所占大小 // 文本最大宽度 CGSize maxSize = CGSizeMake(maxWidth, MAXFLOAT); // NSStringDrawingUsesLineFragmentOrigin -> 从头开始 return [self boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size; }
2. 根据字符串样式计算字符串所占大小
/** * @param font 字符串样式 */- (CGSize)sizeWithFont:(UIFont *)font { return [self sizeWithFont:font maxWidth:MAXFLOAT]; }
时间: 2024-12-07 04:14:57