效果如图箭头所示,只需要一个label就可以做到不同颜色或不同字体的效果

 1     UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 80, 150, 30)];
2 label.numberOfLines = 0;
3 [self.view addSubview:label];
4 //固定文字 此文字为 黑色 16号
5 NSString *staticStr = @"好评度:";
6
7 //动态文字 此文字为 红色 16号 粗体
8 NSString *dyStr = @"96\%";
9
10 //完整要显示的文字
11 NSString *tmpStr = [NSString stringWithFormat:@"%@%@",staticStr,dyStr];
12
13 //创建一个可变的attribute文字
14 NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:tmpStr];
15
16 //获得固定文字的范围
17 NSRange staticStrRange = [tmpStr rangeOfString:staticStr];
18 //设置固定文字的字体
19 //颜色
20 [str addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:staticStrRange];
21 //字号
22 [str addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:16] range:staticStrRange];
23
24 //获得动态文字的范围
25 NSRange dyStrRange = [tmpStr rangeOfString:dyStr];
26 //设置动态文字的字体
27 //颜色
28 [str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:dyStrRange];
29 //字号
30 [str addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:16] range:dyStrRange];
31 //label设置attribute文字
32 label.attributedText = str;

原理:label有attribute文字,通过arrtibute特性给文字添加相应的字体,颜色等

最新文章

  1. 64位WIN7下安装MPICH2
  2. c#组元(Tuple)的使用
  3. ExpandableListView二级列表
  4. 根据配置文件加载js依赖模块(JavaScript面试题)
  5. VC包含目录、附加依赖项、库目录及具体设置
  6. MVC 返回图片
  7. logback详细配置(三)
  8. 链表C++模板实现
  9. Enum 枚举
  10. Ubuntu12.04安装insight-6.8
  11. php知识--递归
  12. 数列的前N项之和
  13. servlet第1讲初识
  14. RAC和单节点数据库的区别有哪些?RAC最有用的功能是什么?
  15. 41.Odoo产品分析 (四) – 工具板块(10) – 问卷(1)
  16. TRIO-basic指令--九九乘法表demo
  17. Golang 入门~~基础知识
  18. IO相关1(io类/流状态)
  19. SEO-搜索引擎优化
  20. 多线程学习笔记八之线程池ThreadPoolExecutor实现分析

热门文章

  1. Hadoop问题解决记录
  2. docker安装minio
  3. Pytest_简介与安装(1)
  4. antd递归渲染左侧菜单
  5. 基于springboot的定时任务实现(非分布式)
  6. 我选择了MySQL和SpringData JPA
  7. 以太 ip tcp udp 三次握手的理解
  8. Hbuilder将移动app或者web项目打包
  9. grpc基础讲解和golang实现grpc通信小案例
  10. python整数运算--4