热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何设置一个UIlable里面字体有两种颜色拼接起来的

如何设置积分:1000这个uilable里面字体颜色是积分黑色1000红色(这个是接口传进来的)


如何设置 积分:1000  这个uilable里面字体颜色 是积分黑色 1000 红色(这个是接口传进来的)

4 个解决方案

#1


没有电脑还不知道方法了,label有这个属性!明天发,

#2



self.title = @"For iOS 6 & later";
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"Using NSAttributed String"];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0,5)];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(6,12)];
[str addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(19,6)];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-BoldItalicMT" size:30.0] range:NSMakeRange(0, 5)];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:30.0] range:NSMakeRange(6, 12)];
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Courier-BoldOblique" size:30.0] range:NSMakeRange(19, 6)];
attrLabel.attributedText = str;



http://my.oschina.net/CarlHuang/blog/138363



#3


可以通过NSMutableAttributedString来实现,如楼上。但在我看来,也可以分离“积分:”label 与显示积了多少分的label. 意思就是你可以各自创建,接口返回的值,直接显示,不需要再拼接“积分:”字符,还需要考虑如何显示不同颜色的问题。

#4


你的积分两个字是固定的就分开用两个labe,但是后面的那个“已领3天,明日可获取xxxx”可以用AttributedString,除了传统的做法以外,我们还可以通过占位符替换来实现,如:
"已领{Day}天",然后把{Day}替换为服务器的返回值,这种方式也比较灵活

推荐阅读
author-avatar
手机用户2502886741
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有