ios 设置label的高度随着内容的变化而变化

Posted 我也要改变世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 设置label的高度随着内容的变化而变化相关的知识,希望对你有一定的参考价值。


好吧 

 

步骤1:创建label

_GeRenJianJie = [[UILabel alloc]init];

 

步骤2:设置label

_GeRenJianJie.textColor = RGBAColor(95, 104, 115, 1);
    _GeRenJianJie.numberOfLines = 0; // 需要把显示行数设置成无限制
    _GeRenJianJie.font = [UIFont systemFontOfSize:16];

    _GeRenJianJie.textAlignment = NSTextAlignmentLeft;
    _GeRenJianJie.text = @“xxxx ";

 步骤三:计算label内容的大小

 CGSize size =  [self sizeWithStr:_GeRenJianJie.text font:_GeRenJianJie.font];

 步骤4:设置label的frame

_GeRenJianJie.frame = CGRectMake(15, 30, [UIScreen mainScreen].bounds.size.width-30, size.height);
    [footView addSubview:_GeRenJianJie];

 这样就搞定了

 

 

其中涉及到一个方法返回label的大小

// 定义成方法方便多个label调用 增加代码的复用性
- (CGSize)sizeWithSt:(NSString *)string font:(UIFont *)font
{
    CGRect rect = [string boundingRectWithSize:CGSizeMake(320, 8000)//限制最大的宽度和高度
                                       options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading  |NSStringDrawingUsesLineFragmentOrigin//采用换行模式
                                    attributes:@{NSFontAttributeName: font}//传人的字体字典
                                       context:nil];
    
    return rect.size;
}

以上是关于ios 设置label的高度随着内容的变化而变化的主要内容,如果未能解决你的问题,请参考以下文章

设置DIV最小高度以及高度自适应随着内容的变化而变化

请问在用swiper做手机页面的时候如何设置页面高度随着显示内容而变化?谢谢了,大神帮忙啊

Android EditText控件即设置最小高度又运行高度随内容增加而变化

布局(左边的div随着右边div的高度变化而变化)

在CSS网页里设成宽度为100%全屏,但网页里的table里宽度又怎么设置了?table宽度不会随着屏幕变化而变化?

CSS如何让父容器的高度随着子容器的内容而自动变化!~求解