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

      發表評論

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

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

      ?
      主站蜘蛛池模板: 免费爱爱视频| 九月丁香婷婷亚洲综合色| 99热1| 综合网天天| 久久久噜久噜久久综合| 欧美一区二区三区免费高| 明日花绮罗snis-862在线播放| 好爽好大www视频在线播放 | 四虎影视院| xxx色xxx性| 亚洲va久久久噜噜噜久久| 色香蕉网站| 亚洲地址一地址二地址三| 能看毛片的网址| 在线观看国产久青草| 四虎影视最新| 你懂的网站在线观看网址| 国产精品不卡片视频免费观看 | 亚洲mv在线观看| 日本特黄特色| 国产免费私拍一区二区三区| 亚洲国产系列| 国产在线理论片免费播放| h网站免费| 免费xxxx大片| 88av影院| 国产在线免| 亚洲综合激情另类专区| 114毛片免费观看网站| 国产精品成人aaaaa网站| 色综合久久久久久久久五月性色| 免费色网址| 在线免费看| 天天干天天操天天碰| a级男女性高爱潮高清试| 韩国理伦片在线观看2828| 禁漫羞羞入口| 色多多18免费观看| 日本5级床片全免费| 国产卡1卡2卡三卡网站免费| 奇米777狠狠|