ios 计算文字占用高度

自动计算的方法:

- (CGFloat)contentCellHeightWithText:(NSString*)text
{
    NSInteger ch;
    UIFont *font = [UIFont systemFontOfSize:17];//11 一定要跟label的显示字体大小一致
    //设置字体
    CGSize size = CGSizeMake(LCDW - 16, 2000.0f);//注:这个宽:300 是你要显示的宽度既固定的宽度,高度可以依照自己的需求而定
    //    if (SystemVersion_7x)//IOS 7.0 以上
    //    {
    NSDictionary * tdic = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName,nil];
    
    if (text == nil || [text isEqual:[NSNull null]]) {
        ch = 0;
    }else{
        size =[text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin |NSStringDrawingUsesFontLeading attributes:tdic context:nil].size;
        ch = size.height;
    }
    NSLog(@"高度:%ld",(long)ch);

    return ch;
}

使用方法如下:

        NSString *testString = @"123456790123456790123456790123456790123456790123456790123456790";
        if ([self contentCellHeightWithText:testString] > 30)
        {
            self.messageLabelHeight.constant = [self contentCellHeightWithText:testString];
            self.messageHeight.constant = self.messageHeight.constant + [self contentCellHeightWithText:testString];
        }

 

转载于:https://www.cnblogs.com/codemakerhj/p/5757093.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值