计算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;
}

转载于:https://www.cnblogs.com/gchlcc/p/5740582.html

iOS开发小技巧--计算label的Size的方法总结相关推荐

  1. 27个iOS开发小技巧

    <span style="word-wrap: normal; word-break: normal; line-height: 1.5em; font-size: 14px; out ...

  2. iOS开发小技巧 -- tableView-section圆角边框解决方案

    iOS开发小技巧 -- tableView-section圆角边框解决方案 参考文章: (1)iOS开发小技巧 -- tableView-section圆角边框解决方案 (2)https://www. ...

  3. iOS开发小技巧总结

    tip 1 :  给UIImage添加毛玻璃效果 func blurImage(value:NSNumber) -> UIImage { let context = CIContext(opti ...

  4. iOS开发小技巧汇总

    1.App名称的修改 许多个人开发者或许会有和我一样的经历,开发一个App途中会想到更合适的名字,这时候变会修改工程名以达到App名称改变的目的,其实你可以一步到位-- 在info.plist中添加一 ...

  5. iOS开发小技巧--学会包装控件(有些view的位置由于代码或系统原因,位置或者尺寸不容易修改或者容易受外界影响)...

    一.百思项目中遇到了两处这样的问题, 第一处 - 是评论界面的headerView,由于直接把自己搞的xib加载了放在了那里,xib中setFrame写了好多-=  +=,每次滚动的时候,会频繁调用x ...

  6. iOS开发小技巧--textField成为密码框,view加载完后textField获取焦点

    文本框安全输入:Secure Text Entry(安全文本输入) view加载完后textField获取焦点的正确做法

  7. iOS开发小技巧--利用苹果官方API播放视频(方法已经过时,了解一下)

  8. iOS开发小技巧-修改SliderBar指针的样式(牢记这个方法,只能通过代码来修改)

    代码: // 修改进度条的指针图片 [self.progressSlider setThumbImage:[UIImage imageNamed:@"player_slider_playba ...

  9. iOS开发小技巧--边接受数据边写入文件的两种方法

    一.NSFileHanle 使用注意点:在往文件写入数据时,必须创建一个空的文件 指定文件写入的方式 -- 覆盖还是追加 最后记得关闭 <1>代码是在大文件传输的练习中截取的.写入数据之前 ...

最新文章

  1. CentOS7.4 安装mongodb
  2. 从JavaScript数组获取随机值
  3. mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)
  4. 一个显示日期的工具类
  5. vim编码设置问题(转)
  6. Java设计模式学习总结(4)——创建型模式之单例模式
  7. 音响白噪音测试软件,白噪音软件哪个好_电脑上的白噪音软件_什么白噪音软件比较好用...
  8. 极光IM即时通讯初探
  9. 软件中的快速原型技术
  10. cocos2d-x 禁用触摸
  11. 批量修改图片名称的快捷方法
  12. 机器人控制算法一之四轴机械臂正、逆运动学详解
  13. Android 第三方库AgentWeb的使用
  14. Life is short(人生如此短暂)
  15. CTF新近学习经验和疑难
  16. 第1课:ScratchJr软件介绍
  17. QQ概念版体验[多图]
  18. 我在csdn录制好的一门视频课,写篇文章纪念一下
  19. 还原此计算机上所有用户文件,如何恢复丢失的Windows 10用户配置文件 | MOS86
  20. 计算机跨考学校排名,全国33所计算机名校跨考难度系数排名

热门文章

  1. 大数据分布式集群搭建(9)
  2. 人脸检测对齐--Joint Cascade Face Detection and Alignment
  3. 【pytorch】拟合sin函数
  4. pip更换国内镜像源
  5. python字符编码是什么_python3字符编码是什么?怎么用?
  6. dede php 调用自定义字段,在dedecms搜索结果列表页调用自定义字段的方法(绝对可用)...
  7. Tomcat双向Https验证搭建,亲自实现与主流浏览器、Android/iOS移动客户端超安全通信
  8. 整数阶贝塞尔函数c语言,第二类整数阶贝塞尔函数(诺伊曼函数)
  9. katalon进行app测试_使用Katalon Studio创建你的第一个API测试
  10. linux fls函数,linux常用操作命令