一个UILabel不同部分显示不同颜色

我们直接来看效果图吧:

需求:就是表格cell里面的状态Label,前面的“状态:”是黑色,后面的状态值是红色,他们在同一个Label上,怎么做呢?

解答:真的是会者不难,难者不会啊,使用富文本,轻松搞定。

费话不多说,直接上代码:

 1 // 根据状态值合成富文本
 2 - (NSMutableAttributedString *)getStateString:(NSString *)state{
 3
 4     // 合成后的字符串
 5     NSString *fullStr = [NSString stringWithFormat:@"状态:%@",state];
 6
 7     // 状态值的Range
 8     NSRange range = [fullStr rangeOfString:state];
 9
10     // 状态值显示的颜色
11     UIColor *color = [UIColor kt_colorWithHex:0xff1e00 andAlpha:1];
12
13     // 将合成后的字符串转换为富文本
14     NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:fullStr];
15
16     // 给对应的range添加属性
17     [attributedStr addAttributes:@{NSForegroundColorAttributeName:color} range:range];
18
19     return attributedStr;
20 }

然后直接将富文本赋值给Label的attributedText

1 self.stateLabel.attributedText = [self getStateString:@"未接单"];
时间: 2024-07-31 14:32:53

一个UILabel不同部分显示不同颜色的相关文章

封装一个UILabel圆形边框显示进度

封装了一个UILabel并让它显示圆形的边框,UILabel上面显示百份比,而边框则用Animation绘制到整个圆占指定百分比的点. 这只是我个人想的继承一个UILabel实现的,用到两个CAShapeLayer,第一个Layer的作用是画出灰色的背影圆圈,第二个Layer位置放置在第一个Layer的上面,并设置为红色描绘颜色并描绘到插定的位置,之后实现相应的动画效果即可. import UIKit class kCircleLabel: UILabel { var percent:Doubl

用CATextLayer来实现一个UILabel

用CATextLayer来实现一个UILabel by 伍雪颖 CATextLayer *textLayer = [CATextLayerlayer]; textLayer.frame =CGRectMake(100,100,100,100); [self.view.layeraddSublayer:textLayer]; textLayer.foregroundColor = [UIColorblackColor].CGColor; textLayer.alignmentMode =kCAAl

固定UILabel宽度分行显示

这种小伎俩估计都被用烂了,笔者给大家提供一个category文件,供大家简单设置哦. 各种富文本效果哦(普通文本也是可以用的呢): 3行,固定宽度200 2行,固定宽度200 无限行,固定宽度250 无限行,固定宽度250,设置段落样式 源码: UILabel+SizeToFit.h  与  UILabel+SizeToFit.m // // UILabel+SizeToFit.h // SizeToFit // // Copyright (c) 2014年 Y.X. All rights re

T端根据玩家职业来显示不同颜色的角色名字的C++代码

这里是一个简单实用的函数,主要是根据职业的不同,当你需要调用角色名字的时候,根据你的角色名字的不同,来显示各种不同的颜色的名字 std::string m_ClassColor[12] = { //首先定义一个组,根据不同的职业类别 "", // 0 None MSG_COLOR_WARRIOR, // 1 CLASS_WARRIOR MSG_COLOR_PALADIN, // 2 CLASS_PALADIN MSG_COLOR_HUNTER, // 3 CLASS_HUNTER MS

如何在一个TextView中显示不同颜色的文本

在唯品会app中,我们可以看到它里面有些文本控件能够显示不同颜色的文本,这种效果看起来蛮不错的.先上个效果图: 其实,在这上面使用的是一个TextView控件来显示这段文本的.而文本内容是使用html的格式实现的,代码如下: text.setText(Html.fromHtml("<font color=\'#858585\'>购买前如有任何疑问,欢迎使用:</font><font color=\'#f02387\'><U>购物咨询</U&g

echarts彩虹柱状图 每个bar显示不同颜色, 标题在不同位置 ,工具中有可以直接保存为图片下载

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> 哈哈哈 <div id="chartmain" style="width:600px; height: 400px;"></div> </body>

一个简单 的Shell 显示程序

#!/bin/bash clear declare FirstName Greeting   Greeting="Hello ," echo "" echo "Enter Your First Name:" read FirstName echo "$Greeting $FirstName" 首先   vim  Print  回车 然后   i   进入插入状态 编辑以上代码,Esc 键回车 输入   chmod  711 P

python: HTML之 鼠标放上去下拉项字体显示不同颜色

鼠标放上去下拉项字体显示不同颜色 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Title</title> <style> .menu:hover { color: red; display: b

15.8DataGridView选中行显示不同颜色

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace _15._8DataGridView显示不同颜色 {