在項目開發中,咱們常常會遇到在這樣一種情形:在一個UILabel 使用不一樣的顏色或不一樣的字體來體現字符串,在iOS 6 之後咱們能夠很輕鬆的實現這一點,官方的API 爲咱們提供了UILabel類的attributedText, 使用不一樣顏色和不一樣字體的字符串,咱們能夠使用NSAttributedText 和 NSMutableAttributedText 類來實現。 現實代碼: @interface ViewController : UIViewController @property (nonatomic, strong) IBOutlet UILabel *attrLabel; - (IBAction)next:(id)sender; @end .m文件 在viewDidLoad方法中添加如下代碼: 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;
NSString *const NSForegroundColorAttributeName;//值爲UIColor,字體顏色,默認爲黑色。 NSString *const NSBackgroundColorAttributeName;//值爲UIColor,字體背景色,默認沒有。 NSString *const NSLigatureAttributeName;//值爲整型NSNumber,連字屬性,通常中文用不到,在英文中可能出現相鄰字母連筆的狀況。0爲不連筆;1爲默認連筆,也是默認值;2在ios 上不支持。 NSString *const NSKernAttributeName;//值爲浮點數NSNumber,字距屬性,默認值爲0。 NSString *const NSStrikethroughStyleAttributeName;//值爲整型NSNumber,可取值爲 enum { NSUnderlineStyleNone = 0×00, NSUnderlineStyleSingle = 0×01, };設置刪除線。 NSString *const NSUnderlineStyleAttributeName;//同上。設置下劃線。 NSString *const NSStrokeColorAttributeName;//值爲UIColor,默認值爲nil,設置的屬性同ForegroundColor。 NSString *const NSStrokeWidthAttributeName;//值爲浮點數NSNumber。設置比畫的粗細。 NSString *const NSShadowAttributeName;//值爲NSShadow,設置比畫的陰影,默認值爲nil。 NSString *const NSVerticalGlyphFormAttributeName;//值爲整型NSNumber,0爲水平排版的字,1爲垂直排版的字。