在线观看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%

      發表評論

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

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

      ?
      主站蜘蛛池模板: 日韩一卡 二卡 三卡 四卡 免费视频 | 日本黄页在线观看 | 欧美激情xxxx性bbbb | 国产香港三级理论在线 | 天堂视频免费 | 久久国产午夜精品理论篇小说 | 婷婷九月色 | 黑色丝袜美女被网站 | 一级片视频在线观看 | 国产高清小视频 | 三级精品视频在线播放 | 欧美天天综合 | 99久久99久久精品国产 | 免费被视频网站在线观看 | 天天综合色天天综合 | 国产特黄一级片 | 黄网在线看 | 男女爱爱视频免费看 | 人人干狠狠干 | 天天色天天射综合网 | 男人操女人免费网站 | 亚洲aa在线 | 免费人成激情视频在线观看冫 | videosxxoo18在线 | 国产成人精品系列在线观看 | 亚洲日本久久久午夜精品 | 国产秦先生大战白丝97在线 | 国产小视频在线 | 色综合中文网 | 黄色网址有那些 | www.在线 | 国产69精品久久久久9牛牛 | jzzjlzz亚洲乱熟在线播放 | 欧美另类自拍 | 伊人久久99 | 四虎4444hu4影视最新地址 | 成人免费视频一区 | 日本黄在线 | 欧美综合精品一区二区三区 | 成 年 人 视频在线播放 | 在线亚洲免费 |