转载自: http://www.cnblogs.com/taintain1984/p/3550525.html
在项目开发中,我们经常会遇到在这样一种情形:在一个UILabel 使用不同的颜色或不同的字体来体现字符串,在iOS 6 以后我们可以很轻松的实现这一点,官方的API 为我们提供了UILabel类的attributedText, 使用不同颜色和不同字体的字符串,我们可以使用NSAttributedText 和 NSMutableAttributedText 类来实现。
现实代码:
|
1
2
3
4
|
@interface ViewController
: UIViewController@property (nonatomic,
strong) IBOutlet UILabel
*attrLabel;-
(IBAction)next:(id)sender;@end |
.m文件 在viewDidLoad方法中添加以下代码:
|
1
2
3
4
5
6
7
8
9
|
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; |
效果图:

如果想在iOS6.0以前版本实现这个效果,需要使用到一个第三方库TTTAttributedLabel,同时还有导入CoreText.frame框架.
花开花谢春不管,水暖水寒鱼自知.
iOS UILabel多彩字体
本文介绍如何在iOS 6及以上版本中使用NSAttributedString为UILabel设置不同颜色和字体样式。通过实例展示了如何利用NSAttributedString和NSMutableAttributedString实现这一功能。
7902

被折叠的 条评论
为什么被折叠?



