您的位置:首页 > 移动开发 > IOS开发

iOS 计算字符串高度

2016-04-01 09:25 381 查看
公共类.h里

/** 返回自适应高度的文本 */

+ (CGSize)sizeWithString:(NSString *)string
font:(CGFloat)font maxWidth:(CGFloat)maxWidth;

/** 返回自适应宽度的文本 */

+ (CGSize)sizeWithString:(NSString *)string
font:(CGFloat)font maxHeight:(CGFloat)maxHeight;

公共类.m里

/** 返回自适应高度的文本 */

+ (CGSize)sizeWithString:(NSString *)string
font:(CGFloat)font maxWidth:(CGFloat)maxWidth

{

NSDictionary *attributesDict = @{NSFontAttributeName:FONT(font)};

CGSize maxSize = CGSizeMake(maxWidth, MAXFLOAT);

CGRect subviewRect = [string boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attributesDict context:nil];

return subviewRect.size;

}

/** 返回自适应宽度的文本 */

+ (CGSize)sizeWithString:(NSString *)string
font:(CGFloat)font maxHeight:(CGFloat)maxHeight

{

NSDictionary *attributesDict = @{NSFontAttributeName:FONT(font)};

CGSize maxSize = CGSizeMake(MAXFLOAT,
maxHeight);

CGRect subviewRect = [string boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attributesDict context:nil];

return subviewRect.size;

}

调用:(宽度是100 字体是15号 求高度)

CGSize aLabelsize = [ApplictionUtil sizeWithString:aLabel.text font:15 maxWidth:100];

aLabel.height = aLabelsize.height;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: