iOS 一个label中显示不同颜色的文字
2016-07-01 00:00
766 查看
iOS 一个label中显示不同颜色、不同字体的文字
在一个UILabel中显示不同颜色或不同字体的文字,实现的步骤如下。1.创建要显示在label中的字符串;
2.
3.给拆分后的每一部分字符串分别设置颜色和字体
// 1.创建要显示的字符串 NSString *str = @"hello iOS world"; // 2.将字符串拆分,按照需要展现的颜色或字体的不同拆分成多个单独的字符串,并转化成NSRange格式; NSRange rangeA = [str rangeOfString:@"hello"]; NSRange rangeB = [str rangeOfString:@" iOS "]; NSRange rangeC = [str rangeOfString:@"world"]; // 3.将 1.中创建的字符串生成可自由设置的 NSMutableAttributedString NSMutableAttributedString *aStr = [[NSMutableAttributedString alloc] initWithString:str]; // 4.给每一部分分别设置颜色 [aStr addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:rangeA]; [aStr addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:rangeB]; [aStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:rangeC]; // 5.分别设置字体 [aStr addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:25] range:rangeA]; [aStr addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:25] range:rangeB]; [aStr addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:25] range:rangeC]; // 6.创建label,设置label的显示文字,并添加到view上 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 200, 50)]; label.attributedText = aStr; [self.view addSubview:label];
效果如下
相关文章推荐
- iOS 输出CGRect格式的数据
- iOS 给label添加点击事件
- iOS 项目添加背景音乐
- iOS ViewController点击空白处收起键盘
- iOS 把数组里的所有数据取出到一个字符串中
- iOS、mac开源项目及库汇总 快快收藏
- iOS下的并行开发
- iOS ARC的使用注意事项
- 制作framework库文件的详细步骤---iOS9,Xcode7.2
- iOS字体相关知识
- IOS断点调试技巧
- iOS中第三方有序字典框架——M13OrderedDictionary
- 转】聪明的iOS开发者的Xcode使用技巧
- ios10的新内容
- iOS开发之用GCD实现多线程
- 【转】个人常用iOS第三方库以及XCode插件介绍 -- 不错
- 【转】超全!整理常用的iOS第三方资源 -- 不错
- iOS时间戳与北京时间的转换
- iOS开发笔记
- class_getInstanceMethod和class_getClassMethod的区别