动态获取UILabel的高度和宽度


title : 动态获取UILabel的高度和宽度
category : IOS零碎知识点


在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法。

计算文字的宽高(分类封装)

.h文件


#import 

@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

你可能感兴趣的:(动态获取UILabel的高度和宽度)