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
  • 相关阅读:
    static
    crontab
    coco2d-x 纹理研究
    2048-AI程序算法分析
    如何利用SVN合并代码
    Cocos2d-x 对于中文的支持-----iconv库
    cocos2d-x 2.2 资源更新AssetsManager例子代码
    防止手机游戏衰老的方法
    游戏开发博客
    网络游戏同步法则
  • 原文地址:https://www.cnblogs.com/chenyanliang/p/9687756.html
Copyright © 2011-2022 走看看