• 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;
    }
    对上述的代码,有任何疑问,可以在下方留言。 也可以给我发邮件咨询:673658917@qq.com 或者是直接加qq:673658917 转载请注明出处,谢谢合作。 睡觉舒服,那是给死人准备的,加油吧,一年后你会感谢现在的自己的。
  • 相关阅读:
    new delete的内部实现代码
    子串的替换
    求字符串的长度
    TSQL语句学习(四)
    TSQL语句学习(二)
    杭电acm1036
    杭电acm2032
    杭电acm2045
    杭电acm2072
    杭电acm1029
  • 原文地址:https://www.cnblogs.com/lishanshan/p/5531848.html
Copyright © 2020-2023  润新知