计算一段文字的宽高

/**
* 计算一段文字的宽高
*
* @param size 这段文字的最大宽高
* @param options NSStringDrawingUsesLineFragmentOrigin
* @param attributes 文字的字体属性
* @param context nil
*
* @return 返回的是 CGRect 类型,frame
*/
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context NS_AVAILABLE_IOS(7_0);

第一种方法计算文字高度过时的方法

    //  首先设置文字的宽和高
CGFloat textW = ?;
CGSize textMaxWH = CGSizeMake(textW, ?);
//设置文字的行数 设为0->会自动换行
text_label.numberOfLines = 0;
CGFloat textH = [text sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:textMaxWH].height;

第二种方法计算文字高度

    //  首先设置文字的宽和高
CGFloat textW = ?;
CGSize textMaxWH = CGSizeMake(textW, ?);
//设置文字的行数 设为0->会自动换行
text_label.numberOfLines = 0;
//设置内部文字的字体属性
NSDictionary *attr = @{
NSFontAttributeName : [UIFont systemFontOfSize:14]
};
CGFloat textH = [text boundingRectWithSize:textMaxWH options:NSStringDrawingUsesLineFragmentOrigin attributes:attr context:nil].size.height;

计算一句文字的宽度

    //设置内部文字的字体属性
NSDictionary *attr = @{NSFontAttributeName:[UIFont systemFontOfSize:17]};
CGFloat textW = [text sizeWithAttributes:attr].width;

最新文章

  1. 使用Javascript快速获取URL参数
  2. [Voice communications] 音量的控制
  3. vuejs mvvm图解
  4. Openwebrtc
  5. Oracle 中的作业队列和队列调度
  6. Unity3D安卓打包参数配置与兼容性的关系分析
  7. silverlighter下MVVM模式中利用Behavior和TargetedTriggerAction实现文本框的一些特效
  8. AngularJs angular.identity和angular.noop
  9. laravel框架总结(六) -- 门面(facades)
  10. 再次踩bug:遍历删除list(java.util.ConcurrentModificationException)
  11. 支持向量机通俗导论(理解SVM的三层境地)
  12. 文档onload处理程序
  13. php使用mysql扩展库链接mysql数据库(查询)
  14. Struts2笔记_拦截器
  15. KVM虚拟化概述与安装
  16. 针对2017年淘宝开放平台应用整改被封停或强制入塔政策实现不入塔不模糊正常调用API的解决方案
  17. POJ 1094 Sorting It All Out 【拓扑排序】
  18. JEECG--去掉(增加)登陆页面验证码功能 - CSDN博客
  19. 磁盘IO过高时的处理办法
  20. c++ 绘制方框

热门文章

  1. C项目实践--俄罗斯方块(2)
  2. 找不到或无法加载主类 ide 正常执行,但是打包jar后报错 maven 引入本地包
  3. 记一次部署java项目的问题
  4. UVA10600 ACM Contest and Blackout —— 次小生成树
  5. 《Visual C++ 2010入门教程》系列三:关于C++的一些问题
  6. 详解Python的*args和 **kwargs
  7. 使用jQuery的tab控件
  8. 堆与栈(JAVA)——以String str="abc"的深度含义解释
  9. bzoj 2152: 聪聪可可【点分治】
  10. bzoj 1613: [Usaco2008 Jan]Running贝茜的晨练计划【dp】