传入html字符串setting,将自定义字体应用于从HTML字符串转换的归因字符串

最后我得到了答案.您可以检查拉姆答案(

Find attributes from attributed string that user typed),或者您可以简单地删除旧的字体属性,并使用以下代码应用新的字体.

NSDictionary *dictAttrib = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)};

NSMutableAttributedString *attrib = [[NSMutableAttributedString alloc]initWithData:[yourHTMLString dataUsingEncoding:NSUTF8StringEncoding] options:dictAttrib documentAttributes:nil error:nil];

[attrib beginEditing];

[attrib enumerateAttribute:NSFontAttributeName inRange:NSMakeRange(0,attrib.length) options:0 usingBlock:^(id value,NSRange range,BOOL *stop) {

if (value) {

UIFont *oldFont = (UIFont *)value;

NSLog(@"%@",oldFont.fontName);

/*----- Remove old font attribute -----*/

[attrib removeAttribute:NSFontAttributeName range:range];

//replace your font with new.

/*----- Add new font attribute -----*/

if ([oldFont.fontName isEqualToString:@"TimesNewRomanPSMT"])

[attrib addAttribute:NSFontAttributeName value:font1 range:range];

else if([oldFont.fontName isEqualToString:@"TimesNewRomanPS-BoldMT"])

[attrib addAttribute:NSFontAttributeName value:font2 range:range];

else if([oldFont.fontName isEqualToString:@"TimesNewRomanPS-ItalicMT"])

[attrib addAttribute:NSFontAttributeName value:font3 range:range];

else if([oldFont.fontName isEqualToString:@"TimesNewRomanPS-BoldItalicMT"])

[attrib addAttribute:NSFontAttributeName value:font4 range:range];

else

[attrib addAttribute:NSFontAttributeName value:font5 range:range];

}

}];

[attrib endEditing];

谢谢.也许会帮助你

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值