zoukankan      html  css  js  c++  java
  • ios

    • 创建label 设置字体大小与内容以及属性 numberOfLines = 0 ,允许折行显示
    • 计算原理: 根据你给定的lable的宽度,以及字体大小,用方法boundingRectWithSize..计算得出size即可
        UILabel * lbl = [UILabel new];
        lbl.font = [UIFont systemFontOfSize:18];
        NSString *titleContent = @"a。";
        lbl.text = titleContent;
        lbl.numberOfLines = 0;
        lbl.textColor = [UIColor lightGrayColor];
    
    • 计算size
    
    // 第一个参数是你约束label的大小,可以只约束宽度为50,则高度不做限制为最大浮点值
    //第二个参数点进去固定写第一个属性
    //第三个参数就是你设置label字体的大小的属性
    //最后一个参数固定nil
    //最后点. size即可
        CGSize size = [titleContent boundingRectWithSize:CGSizeMake(50, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:18]} context:nil].size;
        CGFloat w = size.width;
        CGFloat h = size.height;
        CGFloat x = 0;
        CGFloat y = 0;
        lbl.frame = CGRectMake(x, y, w, h);
        [self.view addSubview:lbl];
        NSLog(@"%.2f---%.2f",w,h);
    }
    
    
    • 封装一下
    -(CGFloat)getLabelHeightWithContent:(NSString *)content andLabelWidth:(CGFloat)width andLabelFontSize:(int)font{
    
        CGSize size = [content boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:font]} context:nil].size;
        return size.height;
    }
    
    
  • 相关阅读:
    MyEclipse 快捷键
    Oracle使用split和splitstr函数批量分隔字符串
    linux解压 tar命令
    Crontab的用法
    .net 连接ORACLE中文显示乱码解决方案
    python 列表
    关于ios 11 的问题
    初步了解会计学
    iOS关于直播的链接
    知识链接中.....
  • 原文地址:https://www.cnblogs.com/adampei-bobo/p/6707337.html
Copyright © 2011-2022 走看看