通過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]; }