zoukankan      html  css  js  c++  java
  • iOS开发小技巧--计算label的Size的方法总结

    计算label的Size方法

    • sizeWithAttributes:方法 适用于不换行的情况,宽度不受限制的情况
    /// 根据指定文本和字体计算尺寸
    - (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font
    {
        NSMutableDictionary *attrDict = [NSMutableDictionary dictionary];
        attrDict[NSFontAttributeName] = font;
        return [text sizeWithAttributes:attrDict];
    }
    
    • boundingRectWithSize:方法,适用于换行的情况,同时适用于不换行的情况,为了兼容两者,代码如下
    /// 根据指定文本和字体计算尺寸
    - (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font
    {
        return [self sizeWithText:text font:font maxWidth:MAXFLOAT];
    }
    /// 根据指定文本,字体和最大宽度计算尺寸
    - (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxWidth:(CGFloat)width
    {
        NSMutableDictionary *attrDict = [NSMutableDictionary dictionary];
        attrDict[NSFontAttributeName] = font;
        CGSize size = [text boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attrDict context:nil].size;
        return size;
    }
    
  • 相关阅读:
    网络状态码含义——(比如204,304, 404, 504,502)
    Vue两个简易代替vuex的方法(eventBus,observable)
    单页面首屏加载慢解决方案
    前端监控和前端埋点
    ES5 和 ES6的继承
    mysql 隔离级别
    mysql 事务
    Seata
    Sentinel Dashboard 部署
    java 垃圾回器
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5740582.html
Copyright © 2011-2022 走看看