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-类加载机制(2)-类加载的过程
    JAVA-类加载机制(1)-生命周期
    StarUML-详解
    JMS-mq-发布/订阅
    JMS-mq-点对点
    Spring-Transcation
    Session-Hibernate
    Session
    Git配置
    Maven配置
  • 原文地址:https://www.cnblogs.com/chenyanliang/p/9687756.html
Copyright © 2011-2022 走看看