iOS7中计算UILabel中字符串的高度

iOS6可以使用如下方式来获取字符串的size值

size = [text sizeWithFont:font  constrainedToSize:size  lineBreakMode:NSLineBreakByCharWrapping];

但此方法已经在iOS7中被废弃了,注意.

//获取富文本的UILabel高度  iOS7

- (CGSize)getStringRect:(NSString*)aString

{

CGSizesize;

NSAttributedString* atrString = [[NSAttributedStringalloc] initWithString:aString];

NSRangerange =NSMakeRange(0, atrString.length);

NSDictionary* dic = [atrStringattributesAtIndex:0effectiveRange:&range];

size = [aString  boundingRectWithSize:CGSizeMake(237, 200)options:NSStringDrawingUsesLineFragmentOriginattributes:diccontext:nil].size;

returnsize;

}

//获取字符串的大小ios6

- (CGSize)getStringRect_:(NSString*)aString

{

CGSizesize;

UIFont*nameFont=[UIFontfontWithName:@"Helvetica"size:13];

size=[aString sizeWithFont:nameFontconstrainedToSize:CGSizeMake(237, 200)lineBreakMode:NSLineBreakByCharWrapping];

returnsize;

}




//宽度固定,获取新的高度,设置了label的attributedText,富文本

+ (CGSize) measureAttributedTextLabelSize:(UILabel*)label{

CGSizeconstraint =CGSizeMake(label.frame.size.width,20000.0f);

CGSizeactualSize = [label.attributedTextboundingRectWithSize:constraintoptions:NSStringDrawingUsesLineFragmentOrigincontext:nil].size;

returnactualSize;

}

//宽度固定,获取新的高度,设置了label的text

+ (CGSize) measureLabelSize:(UILabel*)label{

CGSizeconstraint =CGSizeMake(label.frame.size.width,20000.0f);

CGSizeactualSize = [label.textsizeWithFont:label.fontconstrainedToSize:constraintlineBreakMode:label.lineBreakMode];

returnactualSize;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容