1。mixed-style strings in on line of text
2。NSAttributedString / NSMutableAttributedString
3。相关属性,方法
- (id) initWithString : (NSString *) aString ; //初始化 NSMutableAttributedString,以便后续进行设置
- (void) setAttributes : (NSDictionary *) attributes range : (NSRange) aRange ; //设置某个范围内的文本属性
- (id) initWithAttributedString : (NSAttributedString *) attributedString ; //用已封装好的样式文本进行初始化
e.g.
NSString *string = @"iOS SDK";
NSMutableAttributedString *result = [ [ NSMutableAttributedString alloc ] initWithString : string ] ; // 初始化
NSDictionary *attributesForFirstWord = @{ // 设置属性集合
NSFontAttributeName : [ UIFont boldSystemFontOfSize:60.0f ] ,
NSForegroundColorAttributeName : [ UIColor redColor ] ,
NSBackgroundColorAttributeName : [ UIColor blackColor ]
} ;
NSShadow *shadow = [ [ NSShadow alloc ] init ] ;
shadow.shadowColor = [ UIColor darkGrayColor ] ;
shadow.shadowOffset = CGSizeMake (4.0f, 4.0f) ;
NSDictionary *attributesForSecondWord = @{
NSFontAttributeName : [ UIFont boldSystemFontOfSize:60.0f ] , //字体
NSForegroundColorAttributeName : [ UIColor whiteColor ] , // 前景色
NSBackgroundColorAttributeName : [ UIColor redColor ] , //背景色
NSShadowAttributeName : shadow // 阴影色
};
/* Find the string "iOS" , "SDK" in the whole string and sets its attribute */
[ result setAttributes : attributesForFirstWord range : [ string rangeOfString : @"iOS" ] ] ;
[ result setAttributes : attributesForSecondWord range : [ string rangeOfString : @"SDK" ] ] ;
return [ [ NSAttributedString alloc ] initWithAttributedString : result ] ;