iOS --label自适应高度

//以下是我工程中代码的一段,仅供参考理解spa

    NSString *tmpIntroduction = nil;
    tmpIntroduction = recommentMessage.bookIntroduction;
    NSLog(@"书籍介绍内容:%@",tmpIntroduction);
    
    UIFont *font = [UIFont fontWithName:@"Arial" size:11];
    NSDictionary *dict = @{NSFontAttributeName:font};
    CGSize setSize = CGSizeMake([UIScreen mainScreen].bounds.size.width - 10, MAXFLOAT);
    
    //以下方法绘制的是一个rect,根据输入文字计算
    CGRect tmpRect = [tmpIntroduction boundingRectWithSize:setSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil];
    
    CGFloat height = tmpRect.size.height;
    
    NSLog(@"评论的高度:%f",

height);
code

//这是NSString的对象方法,一个字符串实例对象调用该方法时,方法会经过传入的参数返回一个CGRect类型数据,这个数据的size就是此时字符串显示成文本的尺寸。orm

//size:限制尺寸,计算文本绘制时所占的矩形块。例如本例子:size.w为当前屏宽 - 10,size.h能够设置成无限大MAXFLOAT以便于显示全部文字内容。对象

//options:文本绘制时的附加选项,共有四种类型:一般使用NSStringDrawingUsesLineFragmentOrigin,表示整个文本将以每行组成的矩形为单位计算整个文本的尺寸。字符串

//attributes:将本文UIFont存入字典传到这里,例如:NSDictionary *dic = @{NSFontAttributeName:font};it

//context:context上下文,包括一些信息,例如如何调整字间距以及缩放。该参数一般设为nil.io

//注意:计算的文本超过了给定的最大的宽高,就返回最大宽高;若是没有超过,就返回真实占用的宽高class

相关文章
相关标签/搜索