码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2016-05-26 17:14:22      阅读:406      评论:0      收藏:0      [点我收藏+]

标签:


好吧 

 

步骤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的高度随着内容的变化而变化

标签:

原文地址:http://www.cnblogs.com/lishanshan/p/5531848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!