zoukankan      html  css  js  c++  java
  • iOS UILabel计算宽度和高度

    1、根据文本计算size,这里需要传入attributes

        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 100, 0, 0)];
        label.text = @"12331afaa我是谁的谁";
        label.textColor = [UIColor redColor];
        label.backgroundColor = [UIColor greenColor];
        label.font = [UIFont systemFontOfSize:20];
        [self.view addSubview:label];
    
        CGSize size = [label.text sizeWithAttributes:@{NSFontAttributeName:label.font}];
        label.frame = CGRectMake(20, 100, size.width, size.height);
        // 193.482031    heigth:23.867188
    Method 1

    2、富文本计算size

        CGSize size = [label.attributedText size];
        label.frame = CGRectMake(20, 100, size.width, size.height);
        // 193.482031    heigth:23.867188
    Method 2

    3、通过UIView的 sizeThatFits

        // 在单行文本的情况下,参数size设置多少都无所谓,所以里传了CGSizeZero
        CGSize size = [label sizeThatFits:CGSizeZero];
        label.frame = CGRectMake(20, 100, size.width, size.height);
        // 193.500000    heigth:24.000000
        
        // 可用此方法计算高度
        label.text = @"ABCDEFGHIJKLMN";
        label.numberOfLines = 0;
        label.textAlignment = NSTextAlignmentCenter;
        CGSize size = [label sizeThatFits:CGSizeMake(15, 0)];
        label.frame = CGRectMake(20, 100, size.width, size.height);
        // 15.000000    heigth:334.500000
    Method 3
  • 相关阅读:
    Java生产者与消费者(下)
    Java生产者与消费者(上)
    Java中的继承和接口
    syslog(),closelog()与openlog()--日志操作函数
    Nagle算法
    TCP_NODELAY详解
    Linux "零拷贝" sendfile函数中文说明及实际操作分析
    pdflush的工作原理
    proc/sys/net/ipv4/下各项的意义
    求最低价格
  • 原文地址:https://www.cnblogs.com/chenyanliang/p/9687756.html
Copyright © 2011-2022 走看看