您的位置:首页 > 其它

一个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特性给文字添加相应的字体,颜色等

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: