Closed JoeZhangXQ closed 6 years ago
/**
/ +(CGRect)autoResetFrameWithFontNumber:(CGFloat)fontNumber andFrame:(CGRect)frame andText:(NSString )text minHeight:(CGFloat)minHeight{ // 宽度W CGFloat contentW = frame.size.width; // label的字体 HelveticaNeue Courier UIFont fnt = [UIFont fontWithName:@"HelveticaNeue" size:fontNumber]; // iOS7中用以下方法替代过时的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法 CGRect tmpRect = [text boundingRectWithSize:CGSizeMake(contentW, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil] context:nil]; // 高度H CGFloat contentH = tmpRect.size.height; if (contentH<minHeight && minHeight!=0) { contentH = minHeight; } return CGRectMake(frame.origin.x, frame.origin.y, contentW,contentH+2CELLGAP); }__
@JiekangLiao 谢谢 我指的是用SDLayout来做
我也没去了解,我用纯代码的
看头文件api
/* 是否是attributedString / @property (nonatomic) BOOL isAttributedContent;
/**
/ +(CGRect)autoResetFrameWithFontNumber:(CGFloat)fontNumber andFrame:(CGRect)frame andText:(NSString )text minHeight:(CGFloat)minHeight{ // 宽度W CGFloat contentW = frame.size.width; // label的字体 HelveticaNeue Courier UIFont fnt = [UIFont fontWithName:@"HelveticaNeue" size:fontNumber]; // iOS7中用以下方法替代过时的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法 CGRect tmpRect = [text boundingRectWithSize:CGSizeMake(contentW, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil] context:nil]; // 高度H CGFloat contentH = tmpRect.size.height; if (contentH<minHeight && minHeight!=0) { contentH = minHeight; } return CGRectMake(frame.origin.x, frame.origin.y, contentW,contentH+2CELLGAP); }__