一个label 混搭不同颜色,不同字体的文字.. by 徐
2015-06-19 15:39
836 查看
效果如图箭头所示,只需要一个label就可以做到不同颜色或不同字体的效果
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 80, 150, 30)]; label.numberOfLines = 0; [self.view addSubview:label]; //固定文字 此文字为 黑色 16号 NSString *staticStr = @"好评度:"; //动态文字 此文字为 红色 16号 粗体 NSString *dyStr = @"96\%"; //完整要显示的文字 NSString *tmpStr = [NSString stringWithFormat:@"%@%@",staticStr,dyStr]; //创建一个可变的attribute文字 NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:tmpStr]; //获得固定文字的范围 NSRange staticStrRange = [tmpStr rangeOfString:staticStr]; //设置固定文字的字体 //颜色 [str addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:staticStrRange]; //字号 [str addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:16] range:staticStrRange]; //获得动态文字的范围 NSRange dyStrRange = [tmpStr rangeOfString:dyStr]; //设置动态文字的字体 //颜色 [str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:dyStrRange]; //字号 [str addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:16] range:dyStrRange]; //label设置attribute文字 label.attributedText = str;
原理:label有attribute文字,通过arrtibute特性给文字添加相应的字体,颜色等
相关文章推荐
- Win10安装破解补丁重新启用通知中心
- 90后走入地下市场成为勒索软件的幕后人
- 总结整理时下流行的浏览器User-Agent大全
- 【排序算法4】选择排序
- 今天开始写博客,没错。
- 担心承担责任
- jQuery实现带滚动导航效果的全屏滚动相册实例
- 二叉树的遍历的迭代和递归实现方式
- PowerDesinger:实体关系图->物理数据模型(关系表)->sql语句-数据库
- 进击的java(5) spring mvc 文件上传下载
- opencv 矩阵的存取
- web页面的数据导入到excel的方法
- php工作原理
- 【Nginx】Nginx配置文件nginx.conf中文详解
- 总结集成支付宝, 遇到的各种问题
- Msdao15调用oracle存储过程
- Win8.1如何根据需要自由摆放桌面图标和文件
- js常用判断
- redis3.0.2安装
- 基于python:opencv简单图片操作