iOS 根据字符串样式、字符串长度计算字符串所占大小

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

 

posted @ 2015-08-07 17:05  HappyPlane  阅读(2979)  评论(0编辑  收藏  举报