在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

NSAttributedString解析

大小:0.2 MB 人氣: 2017-09-26 需要積分:1

  一、常用需求封裝

  需求:在我們日常開發中,某些句子中會有改變某些字顏色的需求,當然顏色一般而言就是為了著重強調,常為同一種顏色,所以下面代碼是單純改變一句話中的某些字的顏色(一種顏色)

  /**

  * 單純改變一句話中的某些字的顏色(一種顏色)

  *

  * @param color 需要改變成的顏色

  * @param totalStr 總的字符串

  * @param subArray 需要改變顏色的文字數組(要是有相同的 只取第一個)

  *

  * @return 生成的富文本

  */

  + (NSMutableAttributedString *)ls_changeCorlorWithColor:(UIColor *)color TotalString:(NSString *)totalStr SubStringArray:(NSArray *)subArray {

  NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:totalStr];

  for (NSString *rangeStr in subArray) {

  NSRange range = [totalStr rangeOfString:rangeStr options:NSBackwardsSearch];

  [attributedStr addAttribute:NSForegroundColorAttributeName value:color range:range];

  }

  return attributedStr;

  }

  需求:需要更改字間距來適應整體UI

  /**

  * 單純改變句子的字間距(需要 《CoreText/CoreText.h》)

  *

  * @param totalString 需要更改的字符串

  * @param space 字間距

  *

  * @return 生成的富文本

  */

  + (NSMutableAttributedString *)ls_changeSpaceWithTotalString:(NSString *)totalString Space:(CGFloat)space {

  NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:totalString];

  long number = space;

  CFNumberRef num = CFNumberCreate(kCFAllocatorDefault,kCFNumberSInt8Type,&number);

  [attributedStr addAttribute:(id)kCTKernAttributeName value:(__bridge id)num range:NSMakeRange(0,[attributedStr length])];

  CFRelease(num);

  return attributedStr;

  }

  需求:需要改變行間距來適應整體UI

  /**

  * 單純改變段落的行間距

  *

  * @param totalString 需要更改的字符串

  * @param lineSpace 行間距

  *

  * @return 生成的富文本

  */

  + (NSMutableAttributedString *)ls_changeLineSpaceWithTotalString:(NSString *)totalString LineSpace:(CGFloat)lineSpace {

  NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:totalString];

  NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init];

  [paragraphStyle setLineSpacing:lineSpace];

  [attributedStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [totalString length])];

  return attributedStr;

  }

  需求:同時更改行間距和字間距

  /**

  * 同時更改行間距和字間距

  *

  * @param totalString 需要改變的字符串

  * @param lineSpace 行間距

  * @param textSpace 字間距

  *

  * @return 生成的富文本

  */

  + (NSMutableAttributedString *)ls_changeLineAndTextSpaceWithTotalString:(NSString *)totalString LineSpace:(CGFloat)lineSpace textSpace:(CGFloat)textSpace {

  NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:totalString];

  NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init];

  [paragraphStyle setLineSpacing:lineSpace];

  [attributedStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [totalString length])];

  long number = textSpace;

  CFNumberRef num = CFNumberCreate(kCFAllocatorDefault,kCFNumberSInt8Type,&number);

  [attributedStr addAttribute:(id)kCTKernAttributeName value:(__bridge id)num range:NSMakeRange(0,[attributedStr length])];

  CFRelease(num);

  return attributedStr;

  }

  需求:更改某些文字的顏色并修改其字體,突出重點強調

  /**

  * 改變某些文字的顏色 并單獨設置其字體

  *

  * @param font 設置的字體

  * @param color 顏色

  * @param totalString 總的字符串

  * @param subArray 想要變色的字符數組

  *

  * @return 生成的富文本

  */

  + (NSMutableAttributedString *)ls_changeFontAndColor:(UIFont *)font Color:(UIColor *)color TotalString:(NSString *)totalString SubStringArray:(NSArray *)subArray {

  NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:totalString];

  for (NSString *rangeStr in subArray) {

  NSRange range = [totalString rangeOfString:rangeStr options:NSBackwardsSearch];

  [attributedStr addAttribute:NSForegroundColorAttributeName value:color range:range];

  [attributedStr addAttribute:NSFontAttributeName value:font range:range];

  }

  return attributedStr;

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 狠狠干亚洲色图 | 曰本福利写真片视频在线 | 免费一级欧美片在线观免看 | 插吧插吧综合网 | 天天操天天舔 | 久久天天躁夜夜躁狠狠躁2015 | 天堂在线最新资源 | 色天天干| 最新人妖shemaletube人妖 最新日本免费一区二区三区中文 | 色综合色 | 国产成人啪精品午夜在线播放 | 国产综合视频在线观看 | 四虎成人在线视频 | 日日干狠狠操 | 男人的天堂在线精品视频 | 午夜在线观看cao | 国模吧双双大尺度炮交gogo | 日本黄色片免费看 | 国产福利你懂的 | 欧美黄色一级视频 | 天天操综合视频 | 日本视频色 | 久久天天躁狠狠躁夜夜呲 | 免费高清视频免费观看 | 国产香蕉98碰碰久久人人 | 成人久久久精品乱码一区二区三区 | 免费又黄又爽1000禁片 | 免费人成年激情视频在线观看 | 综合网激情五月 | 欧美黄色大片免费观看 | 最好看最新的中文字幕1 | 欧美日韩在线一本卡 | 狠狠干天天爱 | 午夜激情福利视频 | 亚洲午夜精品在线 | 狠狠色狠狠色综合婷婷tag | 97影院理论在线观看 | 免费黄色国产视频 | 亚洲香蕉久久一区二区三区四区 | 天天干天天干天天干天天干天天干 | 3344在线观看永久免费 |