您的位置:首页 > 产品设计 > UI/UE

八,iOS当UILabel文字不固定时计算label的高度

2017-02-16 14:10 267 查看
 1,第一种通过已知宽度来计算它的最大高度使用sizeThatFits:方法如下

      CGFloat titleW = cerX - titleX - 30;

    CGFloat titleH = [_titleLabel sizeThatFits:CGSizeMake(titleW, MAXFLOAT)].height;

2,通过计算的方法

#pragma mark - 计算string的size

+ (CGSize)autosizeWithString:(NSString *)string fromSize:(CGSize)size andFont:(UIFont *)font

{    

    NSDictionary *attributes = @{ NSFontAttributeName : font};

    

    return [string boundingRectWithSize:size

                                options:

            NSStringDrawingUsesLineFragmentOrigin |

            NSStringDrawingUsesFontLeading

                             attributes:attributes context:nil].size;

}

调用方法如下:

其中SPStringMode 函数所在文件,Font_CN为字体大小可根据情况修改,

CGSize size = [SPStringMode autosizeWithString:@"string" fromSize:CGSizeMake(200, MAXFLOAT) andFont:Font_CN(13)];

计算出来之后是CGSize格式的数据通过float取出即可

float infoHeight = size.height;

3,UILabel中的数据有时候无法控制大小同时有需要他显示全部而不是在高度不够时显示...的方法只需要使用一个属性就好了

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