zoukankan      html  css  js  c++  java
  • UILabel实现文本自适应方法

    - (void)initUserInterface
    {
        UILabel *label = [[UILabel alloc]init];
        label.numberOfLines = 0; // 需要把显示行数设置成无限制
        label.font = [UIFont systemFontOfSize:15];
        label.textAlignment = NSTextAlignmentCenter;
        label.text = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        CGSize size =  [self sizeWithString:label.text font:label.font];
        label.bounds = CGRectMake(0, 0, size.width, size.height);
        label.center = self.view.center;
        [self.view addSubview:label];
         
    }
    // 定义成方法方便多个label调用 增加代码的复用性
    - (CGSize)sizeWithString:(NSString *)string font:(UIFont *)font
    {
        CGRect rect = [string boundingRectWithSize:CGSizeMake(320, 8000)//限制最大的宽度和高度
                                           options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading  |NSStringDrawingUsesLineFragmentOrigin//采用换行模式
                                        attributes:@{NSFontAttributeName: font}//传人的字体字典
                                           context:nil];
         
        return rect.size;
    }
  • 相关阅读:
    常用和实用的git命令,让你快速入门git
    如何获取电脑的IP和mac地址
    关于vue插件的使用和修改
    BullsEye游戏优化布局
    BullsEye游戏总结
    Android游戏小demo
    算法及相应算法应用之令牌桶算法
    php IDE之phpStorm使用小记
    php中openssl_encrypt方法
    mysql界面工具
  • 原文地址:https://www.cnblogs.com/liuyingjie/p/5208941.html
Copyright © 2011-2022 走看看