计算 NSMutableAttributedString 高度,必须要有两个属性

-(void)test{
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(, , , )];
label.backgroundColor = [UIColor redColor];
//可分行
label.numberOfLines = ;
NSString *str = @"修改数据很明显是属于 model 层的任务。Model 应该为诸如删除或重新排序等操作暴露一个 API,然后我们可以在 data source 方法中调用它。这样,controller 就可以扮演 view 和 model 之间的协调者,而不需要知道 model 层的实现细节。并且还有额外的好处,model 的逻辑也变得更容易测试,因为它不再和 view controllers 的任务混杂在一起了"; //属性可变的 string
NSMutableAttributedString *str1 = [[NSMutableAttributedString alloc]initWithString:str];
//可变的范围
NSRange range = {,[str1 length]};
//范围内的字加下划线
[str1 addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:range];
[str1 addAttribute:NSFontAttributeName value:label.font range:range];
//范围内的字体颜色为绿色
[str1 addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(, )];
//计算 string 的高度
CGSize attSize = [str1 boundingRectWithSize:CGSizeMake(, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;
label.attributedText = str1;
label.frame = CGRectMake(, , attSize.width, attSize.height);
[self.view addSubview:label];
}

转载注明出处:http://www.cnblogs.com/asamu/p/5452229.html

最新文章

  1. c#处理空白字符
  2. PostgreSql+PostGIS和uDig的安装
  3. Leetcode 377. Combination Sum IV
  4. Ubuntu Filezilla FTP Client 安装
  5. ZooKeeper系列1:ZooKeeper的配置
  6. 安全漏洞API接口
  7. java-Spring-1
  8. .net-.net试题2
  9. Redis源码研究--字符串
  10. 自动化Cobbler安装
  11. 01-资料管理器(Directory/DirectoryInfo操作文件夹类)
  12. CentOS系统更换软件安装源aliyun的
  13. StackView的功能和用法
  14. vivalidi 一款由Web技术诞生的Web浏览器
  15. 【Java】 剑指offer(53-2) 0到n-1中缺失的数字
  16. springboot mybatis 分页整合
  17. 大数据【一】集群配置及ssh免密认证
  18. SFTP文件上传与下载(window 上传文件到linux服务器)
  19. C# 新建 exe文件,并且自定义协议从浏览器中启动该程序
  20. sql结合通配符来自定义转义字符

热门文章

  1. 前端scss的使用及gulp发布方式
  2. LINQ的First与FirstOrDefault方法和Last与LastOrDefault方法。
  3. 背水一战 Windows 10 (7) - 控件 UI: VisualState, VisualStateManager, 控件的默认 UI
  4. SSH服务器与Android通信(1)--服务器端发送数据
  5. 修复 XE8 Win 平台 Firemonkey Memo 卷动后会重叠的问题
  6. C++学习笔记13:运算符重载(赋值操作符2)
  7. 【Effective Java】11、同步访问共享的可变数据
  8. Hibernate关联映射(单项多对一和一对多、双向一对多)
  9. 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能
  10. Webform(文件上传)