效果如图箭头所示,只需要一个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特性给文字添加相应的字体,颜色等

一个label 混搭不同颜色,不同字体的文字.. by 徐的更多相关文章

  1. iOS中动态计算不同颜色、字体的文字高度

    在改项目bug的时候,有一个问题动态计算label的高度,前开发者竟然用字符串长度除以14.16这样的常量来计算是否换行,结果cell的高度问题非常严重. 因为label内容里有部分关键字是要另一种颜 ...

  2. label显示不同颜色的字体

    NSString *contentSrt = [NSString stringWithFormat:@"%@ (%@)",categoryModel.categoryName, c ...

  3. 一个label两种颜色,一个label两种字体

    -(void)addLabel{ UILabel *label = [[UILabel alloc]init]; label.backgroundColor = [UIColor grayColor] ...

  4. java POI excel 导出复合样式(一个单元格两个字体)

    前言:java poi 导出 excel 时,需要设置一个单元格有多个字体样式,有点类似于富文本. 想要达到的效果(一个单元格里): 我使用的 poi 版本是 <dependency> & ...

  5. JAVA使用外部字体将文字生成图片,并使用FontMetrics居中文字

    需求: 1.用户输入文字,根据外部字体,将文字生成图片 2.输出的文字需要居中在图片中显示 遇到的问题: 1.如何导入外部字体?使用Java的Font类,所有的字体都是系统安装过的 2.每次用户输入的 ...

  6. 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...

  7. 设置一个label显示多种颜色,多种字体大小

    UILabel* label = [[UILabel alloc] init]; label.frame = CGRectMake(0, 100, 200, 100); label.textColor ...

  8. 一个label 里面 显示中文和英文不同颜色

    - (void)viewDidLoad {    [super viewDidLoad];    self.view.backgroundColor = [UIColor yellowColor];  ...

  9. 修改一个Label上字体的大小(富文本)

    假如修改上面的Label上价格30000的大小,那么需要用到富文本 上代码 // 字符串30000 NSString * priceNumber = @"30000"; [pric ...

随机推荐

  1. 编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为

    返回本章节 返回作业目录 需求说明: 以继承和多态思想模拟饲养员喂养不同动物的不同行为 动物园有饲养员和动物,其中动物有老虎.马.猴子.羊.狼等. 饲养员对不同的动物有不同的喂养行为. 实现思路: 以 ...

  2. MATLAB/SIMULINK生成代码错误之change the default character encoding setting

    SIMULINK点击生成C代码报错 错误提示: Error encountered while executing PostCodeGenCommand for model 'RTW_sc3': Cl ...

  3. 一种适合于MC与SMC算法的哈希表设计

    MC算法与SMC算法中的三角片焊接问题 在之前的关于MC算法与SMC算法的博文中介绍了算法的实现,文章主要围绕算法的核心问题,即三角片如何产生的问题进行了详细的描述.但由于实际应用中需要的等值面Mes ...

  4. SQL高级优化(五)之执行计划

    一.explain 执行计划:在MySQL中可以通过explain关键字模拟优化器执行SQL语句,从而知道MySQL是如何处理SQL语句的. explain:MySQL执行计划的工具,查看MySQL如 ...

  5. SpringBoot学习笔记五之管理员后台维护

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6803544440112677379/ 首先完成分页 引入PageHelper(之前已经添加过了) 在spring- ...

  6. Android WebView优化

    1.展示webview的activity可以另开一个进程,这样就能和我们app的主进程分开了,即使webview产生了oom崩溃等问题也不会影响到主程序,如何实现呢,其实很简单,在androidman ...

  7. R语言服务器程序 Rserve详解

    R语言服务器程序 Rserve详解 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到 ...

  8. 【算法】KMP

    @ 目录 一. 暴力匹配 二.KMP的基本思想 三.next[]的求法 1. 暴力求解 2. 递推求解 四.KMP算法 一. 暴力匹配 字符串匹配的最直接的方法就是暴力匹配,而KMP算法也是基于暴力算 ...

  9. thinkpad s5 电源功率不足提示

    相关答案 作者:路灯瓜 链接:https://www.zhihu.com/question/47551448/answer/122578101 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权 ...

  10. 初识WorldWind——WorldWind编译生成,解决乱码等问题

    本文中World Wind的GitHub源码下载地址:https://github.com/hujiulin/WorldWind 美国国家航空航天局(National Aeronautics and ...