动态获取UILabel的高度和宽度
2016-04-18 本文已影响681人
袁俊亮技术博客
title : 动态获取UILabel的高度和宽度
category : IOS零碎知识点
在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法。
计算文字的宽高(分类封装)
.h文件
#import <Foundation/Foundation.h>
@interface NSString (Category)
/**
* 计算文字的高度
*
* @param content 所需要计算的文字的内容
* @param size 文字的宽高尺寸
* @param fontSize 文字的size
*
* @return 整个内容的size
*/
+ (CGSize)content:(NSString *)content boundingRectWithSize:(CGSize)size fontSize:(CGFloat)fontSize;
@end
.m文件
#import "NSString+Category.h"
@implementation NSString (Category)
/**
* 计算文字的高度
*/
+ (CGSize)content:(NSString *)content boundingRectWithSize:(CGSize)size fontSize:(CGFloat)fontSize
{
NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:fontSize]};
CGSize retSize = [content boundingRectWithSize:size
options:
NSStringDrawingTruncatesLastVisibleLine |
NSStringDrawingUsesLineFragmentOrigin |
NSStringDrawingUsesFontLeading
attributes:attribute
context:nil].size;
return retSize;
}
@end