styled Texts

来源:互联网 发布:大主宰 源码 编辑:程序博客网 时间:2024/06/10 15:09

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 ] ;

           

原创粉丝点击